你可能不知道的Vim使用小技巧_Linux

一、用拷贝的内容替换

当发生拼写错误或者想要重命名标识符时,就需要用拷贝的内容来替换当前的名字。比如调用函数时写错了:

void letus_fuckit_with_vim(){
 cout<<"great!";
}
let_fuckat_with_vom();

只需要先复制上面的函数名,再把光标切换到拼错的词首。然后按下viwp,就替换过来了:

void letus_fuckit_with_vim(){
 cout<<"great!";
}
letus_fuckit_with_vim();

v进入可视模式,然后iw来选择光标所在单词,最后按下p来粘贴。iw表示inner word,有用的搭配还有yiw, ciw等。

二、拷贝整个文件

当我们刚开始使用Vim时,大神会告诉我们如何拷贝整个文件:ggvGy, NB一点的大神会告诉我们:ggyG。现在告诉大家:

:%y

三、暂时离开插入模式

当我们处在insert模式时,有时会希望在normal模式下执行某个命令再马上回到insert模式。 可能需要先按下<Esc>,执行命令,再按下i。

Vim为此提供了方便:

当我们需要暂时离开insert模式并执行一个命令时,可以按下<c-o>执行完后续命令后Vim自动回到insert模式。

例如:

:map <F5> :! g++ % && ./a.out <CR>
:imap <F5> <c-o><F5>

四、字符查找

Vim光标跳转虽然有数十种快捷键,但你有没有发现当我们碰到长单词时会很无力,比如我想把下面的description替换为keywords:

tmystr_meta_description

是不是要不断地敲l(或者敲几次{num}l),其实可以用单词查找功能。只需要输入fd便可以查找当前行的下一个字母d。大写的F可以反向查找。

五、搜索当前词

按下*即可搜索当前光标所在的词(word),再次按下搜索下一个。 按下#搜索上一个。

*只匹配出现的单词,对于中文没有断字。如果查找当前词的所有字串,可以使用g*。

六、命令模式粘贴

如果希望全局查找替换当前光标所在的单词,我们可能需要手动地在命令模式下敲出来: %s/foo/bar/g 。 但如果当前光标就在那个单词上的话,可以在敲完%s/之后将它粘贴到命令里:

<Ctrl+R>
<Ctrl+W>

这是命令模式的<Ctrl+R>工具,用法还包括粘贴当前文件路径: <Ctrl+R>% 。 更多用法请查看帮助: :help c_CTRL-R

七、段落跳转

这个对中文用户几乎无用,但我们在编辑代码文件时会很有用。()可以调到句首句尾,{}可以调到段首段尾。

八、选区头尾跳转

Emmet插件可以进行HTML的标签匹配,你按下<c-y>d当前标签首尾之间被选中。你想调到选中区域的尾部怎么办? 按下o即可切换收尾,再次按下v就能回到Normal模式。

有木有特别想在匹配的括号间跳转!按下%!

九、原生自动补全

如果你没有使用任何Vim插件,Vim的自动补全是默认关闭的。在不引入插件的情况下Vim也可以启用强大的自动补全,只需要设置:

filetype plugin on
set omnifunc=syntaxcomplete#Complete

在任何时候,按下<c-x><c-o>将会触发自动补全。

参考: http://vim.wikia.com/wiki/Omni_completion

十、用搜索来选区

当你需要选择一大段文字时,不妨先进入visual模式,再进行正则搜索。例如在markdown中,选择某个##的内容可以这样操作: 移动光标到要选中的##上,按下v进入visual模式,输入/^## 匹配下一个二级标题,按下k回到上一行。

十一、拷贝当前文件名

使用:let @"=expand("%")可以拷贝当前文件名,我们可以给这个命令设一个快捷键:

nnoremap yf :let @f=expand("%:t")<CR>
nnoremap yp :let @p=expand("%:p")<CR>

其中yf拷贝当前文件名到寄存器f,yp拷贝完整文件路径到寄存器p。然后分别按下"fp和"pp即可粘贴。

十二、大小写不敏感搜索

可以在模式的任何位置加入\c来进行大小写不敏感搜索,在任何位置加入\C来进行大小写敏感搜索。 可以设置set ignorecase来默认进行大小写不敏感搜索,同时可以设置set smartcase: 当模式包含大写字母时忽略ignorecase设置。

总结

以上就是这篇文章的全部内容了,希望本文的这些小技巧能够为大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索vim
, 技巧
, vim实用技巧
精通vim
linux使用小技巧、linux下vim使用详解、linux vim使用、linux vim的使用方法、linux vim使用教程,以便于您获取更多的相关知识。

时间: 2024-09-27 07:35:08

你可能不知道的Vim使用小技巧_Linux的相关文章

您可能不知道的.Net2.0小技巧

1.  在提交页面之后,保持滚动条的位置 可以在page指令上加上MaintainScrollPositionOnPostback指令 以下为引用的内容:<%@ Page Language="C#" MaintainScrollPositionOnPostback="true" AutoEventWireup="true" CodeFile="..." Inherits="..." %> 2. 

你可能不知道的Photoshop图层操作技巧

  Photoshop的图层面板大家都很熟悉了,还能有什么不知道的呢?!本文为大家介绍一些很少被人注意到但却很有用的图层编辑和管理技巧.这些技巧包括填充不透明度.多蒙版和智能对象.调整层.快捷键.高级混合选项.图层面板选项等等. 1. 填充不透明度 填充不透明度可以减少一个图层内容的不透明度,而不能减少图层样式的可见度.因此,诸如渐变叠加等图层样式最好设置成叠加模式来保持图层的穿透效果. 2. 图层组快捷键 当你的文件中有很多图层组并且嵌套时,你可以考虑使用下面几个快捷键来提高工作效率: · 按

你可能不知道的Shell(有趣的知识)_linux shell

Shell也叫做命令行界面,它是*nix操作系统下用户和计算机的交互界面.Shell这个词是指操作系统中提供访问内核服务的程序. 这篇文章向大家介绍Shell一些非广为人知.但却实用有趣的知识,权当品尝shell主食后的甜点吧. 科普 先科普几个你可能不知道的事实: Shell几乎是和Unix操作系统一起诞生,第一个Unix Shell是肯·汤普逊(Ken Thompson)以Multics上的Shell为模范在1971年改写而成,并命名Thompson sh.即便是后来流行的bash(shel

浅谈Linux下通过find命令进行rm文件删除的小技巧_Linux

我们经常会通过find命令进行批量操作,如:批量删除旧文件.批量修改.基于时间的文件统计.基于文件大小的文件统计等,在这些操作当中,由于rm删除操作会导致目录结构变化,如果要通过find结合rm的操作写成脚本,就会遇到一些麻烦,本文通过一个例子为大家进行介绍. 系统环境: SUSE Linux Enterprise Server 11 或 Red Hat Enterprise Linux 问题症状: 客户现场有一个自动化的脚本,有以下的find语句,每天运行以删除某个目录下7天以前的文件或目录,

不得不知道的网站首页优化技巧

网站首页做为整个网站的权重页面,一般来说是整个网站流量最大的页面.SEOer在进行网站优化的时候,首页也是其重中之重,我们明白首页优化程度直接影响着网站的排名和转化率.但是,作为SEOer你知道如何来做首页优化吗? 无论是日常工作中的site命令还是网站排名的查询,首先要检测的多是首页的位置,这就从另一面说明了首页在网站中的地位.同时也就表明了首页优化在整个网站优化中的重要性.或许你会问,首页优化无非就是网站标题和关键词的设置嘛,了不起再加上一个面包屑导航. 然而,真的是这样吗?我们要知道构成网

使用xp系统不得不知的七个小技巧

  一.快速缩放网页字体 笔者无意中将书压在了Ctrl键上,再用鼠标滚轮滚动网页时,发现网页并没有上下滚动,取而代之的是网页字体的缩放.按住Ctrl键后,向上滚动滚轮字体缩小,向下滚动放大.这个技巧只对网页上的文字有效,对图片无效. 二.屏幕键盘 用鼠标点开始-〉运行-〉敲入osk,就会弹出屏幕键盘,您就可以用鼠标完全操作键盘.您还可以建立一个快捷方式快速启动屏幕键盘.在桌面上点鼠标右键-〉新建-〉快捷方式-〉敲入osk-〉回车就完成了.如果您一只手拿着手机在通话,另一只手用鼠标操作键盘,十分方

你可能不知道的一些XP操作技巧

WinXP系统已经推出十几年了,相信大家再熟悉不过,可是你真的对WinXP了如指掌了吗?下面小编要讲解的是WinXP里鲜为人知的六大秘籍,这些秘籍都是WinXP官方未公开的,下面让我们一起来看看吧. 1.WinXP支持137 GB以上大硬盘 想要使用137 GB以上大硬盘,必须使用48位LBA模式.首先你的主板BIOS必须支持48Bit LBA,其次WinXP 家用版和专业版必须安装SP1补丁.然后打开注册表,在如下路径"HKEY_LOCAL_MACHINE System CurrentCont

不得不知道的20个位运算技巧

        一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读<编程之美>求"1的数目"时,我才开始觉得位运算是如此之美,后来读到 <Hacker's Delight>,感慨到Henry S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一个普通的程序中大量运用这样的代码的人简直是疯了!但掌握

优秀程序员不得不知道的20个位运算技巧

一提起位运算,人们往往想到它的高效性,无论是嵌入式编程还是优化系统的核心代码,适当的运用位运算总是一种迷人的手段,或者当您求职的时候,在代码中写入适当的位运算也会让您的程序增加一丝亮点,最初当我读<编程之美>求"1的数目"时,我才开始觉得位运算是如此之美,后来读到 <Hacker's Delight>,感慨到Henry S.Warren把位运算运用的如此神出鬼没,很多程序都十分精妙,我觉得在一个普通的程序中大量运用这样的代码的人简直是疯了!但掌握简单的位运算技巧