vim快捷键

合集下载

vim最全快捷键总结

vim最全快捷键总结

是为性能和提升效率而设计的,并且在大多数基于unix 的系统上普遍存在。

它有大量的快捷键可用来快速导航到文件的特定位置,以便进行快速编辑。

Vim 导航基础vim <filename> # 在 Vim 中打开 <filename>:q # 退出 Vim:w # 保存当前文件:wq # 保存文件并退出 Vim:q! # 退出 Vim 并且不保存文件# ! *强制* 执行 :q,因此没有保存就退出 Vim:x # 保存文件并且退出 Vim,是 :wq 的简写版本u # 撤销CTRL+R # 重做h # 左移一个字符j # 下移一行k # 上移一行l # 右移一个字符# 在行内移动0 # 移到行首$ # 移到行尾^ # 移到行内的第一个非空白字符处# 在文本中查找/word # 光标之后的所有该词都高亮显示?word # 光标之前的所有该词都高亮显示n # 查找后将光标移到该词的下一个出现位置N # 光标移到该词的上一个出现位置:%s/foo/bar/g # 将文件每一行上的所有 'foo' 都改成 'bar':s/foo/bar/g # 将当前行上的所有 'foo' 都改成 'bar'# 跳到字符处f<字符> # 向前跳移到 <字符> 上t<字符> # 向前跳移到 <字符> 的左侧# 例如,f< # 向前跣到 < 上t< # 向前跳移到 < 的左侧# 按词移动w # 前移一个词b # 后移一个词e # 移到当前词的末尾# 移动的其它命令gg # 移到文件顶部G # 移到文件末尾:NUM # 移到第 NUM 行 (NUM 是任意数字)H # 移到屏幕顶部M # 移到屏幕中间位置L # 移到屏幕末尾模式:Vim 基于模式这个概念。

命令模式- Vim 启动后就处于这个模式,用于导航和操作命令插入模式- 用于在你的文件中进行修改可视模式- 用于高亮文本并对它们进行操作Ex 模式- 用于跳到底部的':' 提示行上输入命令i # 在光标位置前,将 Vim 切换到插入模式a # 在光标位置后,将 Vim 切换到插入模式v # 将 Vim 切换到可视模式: # 将 Vim 切换到 ex 模式<esc> # 无论你当前处于什么模式,都返回到命令模式# 复制和粘贴文本y # 复制所选的内容yy # 复制当前行d # 删除所选的内容dd # 删除当前行p # 在当前光标位置后粘贴复制的文本P # 在当前光标位置前粘贴复制的文本x # 删除当前光标位置处的字符Vim 的'语法'Vim 可以被认为是按'动词-修饰词-名词' 格式编排的一组命令:动词- 你的动作修饰词- 你如何执行你的动作名词- 你的动作所作用于的对象关于'动词','修饰词',和'名词' 的几个重要例子:# '动词'd # 删除c # 修改y # 复制v # 可视化选择# '修饰词'i # 内部的a # 周围的NUM # 数字 (NUM 是任意数字)f # 查找文本并位于其上t # 查找文本并停于其前面/ # 从光标处开始查找字符串? # 在光标前查找字符串# '名词'w # 词s # 句子p # 段落b # 块# 示例 '语句' 或命令d2w # 删除 2 个词cis # 修改段落内的内容yip # 复制段落内的内容 (复制你所在的段落)ct< # 修改直到括号开启处# 对你的当前位置直到下个括号开启处的内容进行修改d$ # 删除直到行尾一些快捷键和技巧<!--TODO: Add more!-->> # 将所选内容缩进一级< # 将所选内容取消缩进一级:earlier 15m # 将文档还原到 15 分钟前的状态:later 15m # 逆转上述命令ddp # 相邻行交换位置,先 dd 再 p. # 重复之前动作宏宏基本上来说就是可录制的动作。

Vim快捷键大全

Vim快捷键大全

Vim快捷键⼤全总结⼀下笔记,与喜欢vim的朋友分享。

vim是我最喜欢的编辑器,也是linux下第⼆强⼤的编辑器。

虽然emacs是公认的世界第⼀,我认为使⽤emacs并没有使⽤vi进⾏编辑来得⾼效。

如果是初学vi,运⾏⼀下vimtutor是个聪明的决定。

(如果你的系统环境不是中⽂,⽽你想使⽤中⽂的vimtutor,就运⾏vimtutor zh)正常模式:可以使⽤快捷键命令,或按:输⼊命令⾏。

插⼊模式:可以输⼊⽂本,在正常模式下,按i、a、o等都可以进⼊插⼊模式。

可视模式:正常模式下按v可以进⼊可视模式,在可视模式下,移动光标可以选择⽂本。

按V进⼊可视⾏模式,总是整⾏整⾏的选中。

ctrl+v进⼊可视块模式。

替换模式:正常模式下,按R进⼊。

vim -c cmd file: 在打开⽂件前,先执⾏指定的命令;vim -r file: 恢复上次异常退出的⽂件;vim -R file: 以只读的⽅式打开⽂件,但可以强制保存;vim -M file: 以只读的⽅式打开⽂件,不可以强制保存;vim -y num file: 将编辑窗⼝的⼤⼩设为num⾏;vim + file: 从⽂件的末尾开始;vim +num file: 从第num⾏开始;vim +/string file: 打开file,并将光标停留在第⼀个找到的string上。

vim --remote file: ⽤已有的vim进程打开指定的⽂件。

如果你不想启⽤多个vim会话,这个很有⽤。

但要注意,如果你⽤vim,会寻找名叫VIM的服务器;如果你已经有⼀个gvim在运⾏了,你可以⽤gvim --remote file在已有的gvim中打开⽂件。

:e file --关闭当前编辑的⽂件,并开启新的⽂件。

如果对当前⽂件的修改未保存,vi会警告。

:e! file --放弃对当前⽂件的修改,编辑新的⽂件。

:e+file -- 开始新的⽂件,并从⽂件尾开始编辑。

:e+n file -- 开始新的⽂件,并从第n⾏开始编辑。

如何使用Vim进行代码编辑

如何使用Vim进行代码编辑

如何使用Vim进行代码编辑引言:Vim是一款高度可定制的文本编辑器,广泛用于程序员和系统管理员之间的代码编辑和文本处理任务。

它具有强大的功能和灵活的操作方式,可以大大提高编码效率。

本文将介绍如何在Vim 中进行代码编辑,并列举一些常用的技巧和快捷方式,帮助读者更好地使用Vim编辑器。

第一章:Vim基础1.1 安装和启动Vim- 下载和安装Vim的最新版本;- 运行终端,并输入“vim”命令启动Vim编辑器;- 进入Vim的命令模式并开始编辑代码。

1.2 Vim的基本模式- 命令模式:用于执行各种编辑命令;- 插入模式:用于实际编辑文本;- 可视模式:用于选择和操作文本块。

第二章:Vim编辑技巧2.1 移动光标的快捷方式- 使用h、j、k、l键分别向左、向下、向上、向右移动光标;- 使用gg和G快速在文件的开头和结尾之间切换;- 使用Ctrl+f和Ctrl+b在文本之间快速滚动。

2.2 文本编辑和修改- 使用i和a命令进入插入模式,用于在当前光标处开始编辑;- 使用o和O命令在当前行之后或之前插入新行并进入插入模式;- 使用d和p命令删除和粘贴文本。

2.3 撤销和重做操作- 使用u和Ctrl+r命令撤销和重做上一次操作;- 使用U快速撤销对整行的修改;- 使用.命令重复上一次的修改操作。

第三章:Vim的高级功能3.1 多文件编辑- 使用:sp和:vsp命令在同一个窗口中同时打开多个文件;- 使用Ctrl+w+h、Ctrl+w+j、Ctrl+w+k和Ctrl+w+l快捷方式在不同窗口之间切换;- 使用:bn和:bp命令在不同的缓冲区之间切换。

3.2 快速搜索和替换- 使用/和?命令分别进行向前和向后的快速搜索;- 使用:%s/old/new/g命令进行全局搜索和替换;- 使用:n和:N命令在不同的匹配项之间跳转。

3.3 定制Vim编辑器- 创建.vimrc文件并添加个人配置选项;- 定制快捷键和颜色方案;- 下载和安装插件以增强Vim的功能。

vim快捷键清空文件所有内容

vim快捷键清空文件所有内容

vim快捷键清空⽂件所有内容
vim清空⽂件所有内容
在使⽤vim编辑器的时候,有时候编辑⼀个⽂件,⽽⽂件内容⽐较多,如果需要快速清空整个⽂件,可以使⽤⼀下命令:
在命令模式下,⾸先执⾏
gg
这⾥是跳⾄⽂件⾸⾏
再执⾏:
dG
也就是直接按 ggdG
这样就清空了整个⽂件!
还有⼀种⽅法就要退出VIM,然后使⽤echo > file ,这样也能快速清空⽂件内容,当然你也可以删除了这个⽂件再新建⼀个就是了。

vim搜索设置⾼亮
linux vim打开⽂档搜索字符串时,设置被搜索到字符串⾼亮显⽰。

有两种⽅法:
1、临时设置:vim打开⽂档-->命令⾏形式输⼊set hlsearch。

缺点:关闭⽂档后,下次打开,⼜需要重新设置⼀遍。

2、永久设置(推荐):在~/.vimrc中配制
vim ~/.vimrc
在⽂件中加上set hlsearch
然后保存退出便可。

优点:⼀次设置,永久⽣效。

效果如下:。

Vim快捷键大全

Vim快捷键大全
注:以上移动命令是行内有效
删除命令:
x; 删除当前光标所在字符,dl 删除当前字符, dl=x 3x; 删除当前光标所在字符开始向后三个字符 X; 删除当前光标所在字符的前一个字符,dh 删除前一个字符,X=dh ce; 删除当前光标所在字符到一个单词末尾之间的字符,并进入插入模式 cE; 删除当前光标所在字符到一个单词(以空白符分隔)末尾之间的字符,并进入插入模式 cw; 删除当前光标所在字符到一个单词末尾之间的字符,并进入插入模式 cW; 删除当前光标所在字符到一个单词(以空白符分隔)末尾之间的字符,并进入插入模式 c^; 删除当前光标所在字符到当前行第一个非空字符之间的字符,并进入插入模式 c0; 删除当前光标所在字符到行首的字符,并进入插入模式 c$; 删除当前光标所在字符所在位置到行尾之间的字符,并进入插入模式 dw; 删除当前光标所在的整个单词 dW; 删除当前光标所在的整个单词(以空白符分隔) d^; 删除当前光标所在字符到当前行第一个非空字符之间的字符 d0; 删除当前光标所在字符到行首的字符 d$; 删除当前字符至行尾 D; 删除当前字符至行尾,D=d$ dG; 删除当前字符到文件尾 dd; 删除当前行 dj; 删除上一行 dk; 删除下一行 10dd; 删除当前行开始的10行
查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索。 *相当于/搜索,而#命令相当于?搜索。 还 可 以 在 这 两 个 命 令 前 加 一 个 命 令 计数: "3*"查找当前光标下的 word 的第三次出现。 注意"*"和"#"命令会在内部使用这些标记 word 开始和结束的特殊标记来查找整个的 word(你可以 用"g*"和"g#"命令来同时匹配那些包含在其它 word 中的字串。)

VIM使用快捷键总结

VIM使用快捷键总结

VIM使用快捷键总结1.光标移动:-h:左移一个字符-j:下移一行-k:上移一行-l:右移一个字符-0:移动到行首-^:移动到行首第一个非空字符-$:移动到行尾- gg:移动到文件开头-G:移动到文件末尾-w:向前跳至下一个单词的开头-e:向后跳至下一个单词的结尾-b:向前跳至上一个单词的开头-(:向前移动一个句子-):向后移动一个句子-{:向前移动一个段落-}:向后移动一个段落2.插入、删除、复制与粘贴:-i:在当前光标处插入-I:在当前行首插入-a:在当前光标后插入-A:在当前行尾插入-o:在当前行下方插入新行-O:在当前行上方插入新行-x:删除当前光标处的字符- dd:删除当前行- dw:删除一个单词-d$:删除从光标到行尾的内容- yy:复制当前行- yw:复制一个单词-p:粘贴复制的内容-u:撤销上一步操作- Ctrl+r:重做上一步操作3.与替换:-/:-n:跳至下一个结果-N:跳至上一个结果- :s/old/new/g:在当前行替换第一个匹配项- :s/old/new/gc:在当前行替换所有匹配项,并进行确认4.文件操作:-:w:保存文件-:q:关闭文件-:q!:强制关闭文件- :wq:保存并关闭文件- :e filename:打开filename文件- :bn:下一个buffer- :bp:上一个buffer- :bd:关闭buffer- :sp filename:水平分屏打开filename- :vsp filename:垂直分屏打开filename- Ctrl+w:窗口切换5.撤销与重做:-u:撤销上一步操作- Ctrl+r:重做上一步操作-U:撤销对整行的修改6.选中与复制:-v:进入可视模式-V:可视行模式- Ctrl+v:可视块模式-y:复制选中内容-d:删除选中内容7.块操作:- Ctrl+v:进入可视块模式-I:在选中块行首插入-A:在选中块行尾插入-x:删除选中块-y:复制选中块-d:删除选中块8.折叠:- zf+光标移动:创建折叠- za:打开/关闭折叠- zc:关闭折叠- zo:打开折叠9.操作历史:- :earlier 10s:恢复到10秒前的状态- :later 10s:撤销到10秒后的状态10.多窗口操作:- Ctrl+w s:水平分割- Ctrl+w v:垂直分割- Ctrl+w j:光标移至下方窗口- Ctrl+w k:光标移至上方窗口- Ctrl+w h:光标移至左边窗口- Ctrl+w l:光标移至右边窗口- Ctrl+w =:调整窗口尺寸相等- Ctrl+w _:窗口最大化(水平方向)- Ctrl+w ,:窗口最大化(垂直方向)。

vim常用快捷键

vim常用快捷键

vim 常⽤快捷键
基本配置
查找替换操作在当前⽂档中快速搜索
在命令模式输⼊,跳到下⼀个,跳到上⼀个。

快速全局替换字符
在命令模式输⼊。

其中代表全局替换global 。

跳转操作快速跳转到某⼀⾏
在命令模式输⼊ ,快速跳转到第⼀⾏
在命令模式下输⼊。

快速跳转到最后⼀⾏在命令模式下输⼊。

快速跳转到⾏⾸在命令模式下输⼊。

快速跳转到⾏尾
在命令模式下输⼊。

分屏操作
纵向分屏在命令⾏模式下输⼊,其中按键可以进⾏补全。

横向分屏在命令⾏模式下输⼊,其中按键可以进⾏补全。

分屏操作中,利⽤进⾏各个窗⼝之间的跳转。

阅读代码必装:的使⽤代码折叠功能
⾸先在中设置添加。

然后在代码中按即可将⼤括号对应的部分代码折叠,折叠好了以后,按可解开折叠。

代码⾃动对齐功能
按、、即可实现代码⾃动对齐。

持续更新中.../要查找的字符串n shift + n :%s /要替换的字符/替换字符/g /g :⾏数gg shift + g shift + 6shift + 4:sp 要操作的另⼀个⽂件名tab :vsp 要操作的另⼀个⽂件名tab ctrl + w ctags .vimrc set fdm=indent # 更多的缩进表⽰更⾼级的折叠zc zo gg =G。

vim阅读c++代码的快捷键

vim阅读c++代码的快捷键

vim阅读c++代码的快捷键未完,待总结1. ⾸先适⽤ctags建⽴当前⼯作⽬录的标签:cd /home/wanglc/WorkDirectoryctags -R or ctags -R *命令结束以后,会⽣成⼀个tags⽂件。

还有⼀个:ctags --sort=yes -R ,可以是ctags查找更快速,适⽤⼆分查找法,个⼈觉得这应该做成⼀个默认的选项。

2. 将这个⽣成的tags⽂件配置到vim中去。

⽅法如下:vi /etc/vimrc打开以后,添加以下语句:set tags=/home/wanglc/WorkDirectory/tagssource /etc/vimrc3. 配置vim的缩进,符合语⾔规则set cindent "设置c风格的缩进4. 配置⾃动代码补全功能在编写代码的时调⽤CTRL+P、CTRL+N也会⾃动搜索tag信息来进⾏补齐。

5. 设置⿏标set mouse=aset scroll=5Ctrl+[⿏标点击函数名] 跳转到函数定义Ctrl+[⿏标右击函数名] 返回原处改正程序中的错误6. 在VIM编辑器中使⽤":make"就可以编译程序,当然其前提是在当前⽬录下有Makefile⽂件。

运⾏完":make"之后,如果程序中有错误,就会显⽰出来。

此时,光标会⾃动指向第⼀个出现错误的地⽅,⽽且你还可以看到错误的提⽰。

其他命令:> ":cl" 列出错误> ":cn" 跳到下⼀个错误> ":cp" 跳到上⼀个错误> ":cnew" 跳到第⼀个错误提⽰:通过设置"errorformat"的值,可以让VIM识别出编译器(⾮gcc)的出错提⽰。

"errorformat"的值是⼀个字符串,它的格式和C语⾔的scanf的字符串格式相似。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VIM快捷键:ctags 文件名做索引光标移动:四个方向kh 0 ljctrl+f, ctrl+b 向下翻页,向上翻页ctrl+d, ctrl+u 向下半翻页,向上半翻页$ 移动行尾0 移动行首w 移动下一个词b 移动到上一个词gg 跳到文档的开始处G 跳到文档的末尾% 跳到匹配的括号处("{ }""[]""()")ctrl+i,tab 跳到下一个jump pointctrl+o 跳到上一个jump point23gg, 23G, :23 跳到第23行ctrl+i, tab 跳到下一个跳点(Jump Point)ctrl+o 跳到上一个跳点查找替换:# 从光标向后查找整个关键词* 从光标向前查找整个关键词g# 从光标向后查找关键词g* 从光标向前查找关键词fx,tx,Fx,Tx 在当前行查找字符查找替换例子:: s/SEARCH/REPLACE: s/If/Since 将下一个"If"换成"Since": %s/If/Since 将全部"If"换成"Since": 1,3 s/If/Since/g 只对1,3行有效,如无前缀,只对当前行有效表达式:. 代替一个字符* 表示一个或多个字符的重复/d.*an 可以匹配 dan, divan, debian单词边界:指定单词边界: \< 和 \>如: /\<d[a-z]*an\> 匹配以d开始,中间包含任意个小写字母,以an结束的单词/\$[0-9]*\.[0-9][0-9] 匹配查找 $XX...X.XX这要的数字,有且只有两位小数的常用的编辑命令:a, i 在光标后插入, 在光标前插入dd 删除一行cc,S 删除一行后进入insert模式dw 删除一个单词cw 删除一个单词后进入insert模式x,dl 删除一个字符s,cl 删除一个字符后进入insert模式p 粘贴xp 交换两个字符ddp 交换两行y 复制yy 复制一行u 撤消ctrl+r 重做. 重复上一次修改ctrl+r 重做. 重复上一次修改划分窗格::split/vsplit 分隔一个窗口:new/vnew 创建一个新的窗口:sf {filename} 在新窗口中打开filename:close 关闭当前窗口:only 关闭除当前窗口外所有窗口:ctrl-w h 到左面的窗口:ctrl-w j 到下面的窗口:ctrl-w k 到上面的窗口:ctrl-w l 到右面的窗口:ctrl-w t 到顶部的窗口:ctrl-w b 到底部的窗口重复操作(宏操作):q[a-z] 开始记录操作,记录到寄存器[a-z]中q 停止记录操作@[a-z] 执行寄存器中的操作@@ 执行最近寄存器中记录的操作例子:一个缓冲区有两行:sys/types.hstdio.h-->要改为:#include <sys/types.h>#include <stdio.h>操作如下:qa #开始记录^ #移动行首i #进入insert模式#include < #输入内容$ #移动行尾i #进入insert模式> #输入内容q #停止记录移动另一行:@a即可执行相同的操作Visual Mode操作:ctrl+v 进入基于块的可视模式v 进入基于字符的可视模式V 进入基于行的可视模式c 删除选定的块I{string}<ESC> 选定块后按大写的I,输入字符串,再按ESC,可以在块内每一行插入相同的内容跳到声明处:[[ 向前跳到顶格的第一个"{"[] 向前跳到顶格的第一个"}"][ 向后跳到顶格的第一个"{"]] 向后跳到顶格的第一个"}"[{ 跳到本代码块(由{}界定)的开头[} 跳到本代码块的结尾Shell::ctrl+z/suspend 在shell下是挂起vim; gui下是最小化窗口:!{command} 执行shell命令:shell 开一个新的shell保存vim状态(挂起?)::mksession session.vim 保存当前vim状态:source session.vim 回复vim状态vim -S session.vim 启动vim时恢复session高效率移动在插入模式之外基本上来说,你应该尽可能少的呆在插入模式里面,因为在插入模式里面VIM 就像一个“哑巴”编辑器一样。

很多新手都会一直呆在插入模式里面,因为这样易于使用。

但VIM的强大之处在于他的命令行模式!你会发现,在你越来越了解VIM 之后,你就会花越来越少的时间使用插入模式了。

使用 h,j,k,l使用VIM高效率编辑的第一步,就是放弃使用箭头键。

使用VIM,你就不用频繁的在箭头键和字母键之间移来移去了,这会节省你很多时间。

当你在命令模式时,你可以用h,j,k,l来分别实现左,下,上,右箭头的功能。

一开始可能需要适应一下,但一旦习惯这种方式,你就会发现这样操作的高效之处了。

在你编辑你的电子邮件或者其他有段落的文本时,你可能会发现使用方向键和你预期的效果不一样,有时候可能会一次跳过了很多行。

这是因为你的段落在VIM看来是一个大的长长的行。

这时你可以在按h,j,k或者l 之前键入一个g,这样VIM就会按屏幕上面的行如你所愿的移动了。

在当前行里面有效的移动光标很多编辑器只提供了简单的命令来控制光标的移动(比如左,上,右,下,到行首/尾等)。

VIM则提供了很多强大的命令来满足你控制光标的欲望。

当光标从一点移动到另外一点,在这两点之间的文本(包括这两个点)称作被“跨过”,这里的命令也被称作是motion。

(简单说明一下,后面会用到这个重要的概念)这里是常用到的一些命令(motion):fx:移动光标到当前行的下一个x处。

很明显,x可以是任意一个字母,而且你可以使用;来重复你的上一个f命令。

tx:和上面的命令类似,但是是移动到x的左边一个位置。

(这真的很有用)Fx:和fx类似,不过是往回找。

w:光标往前移动一个词。

b:光标往后移动一个词。

0:移动光标到当前行首。

^:移动光标到当前行的第一个字母位置。

$:移动光标到行尾。

):移动光标到下一个句子。

( :移动光标到上一个句子。

在整个文件里面有效移动光标VIM有很多命令,可以用来到达文件里面你想到达的地方。

下面是一些在文件里面移动的命令:<C-F>:向下移动一屏。

<C-B>:向上移动一屏。

G:到文件尾numG:移动光标到指定的行(num)。

(比如10G就是到第10行)gg:到文件首H:移动光标到屏幕上面M:移动光标到屏幕中间L:移动光标到屏幕下面*:读取光标处的字符串,并且移动光标到它再次出现的地方。

#:和上面的类似,但是是往反方向寻找。

/text:从当前光标处开始搜索字符串text,并且到达text出现的地方。

必须使用回车来开始这个搜索命令。

如果想重复上次的搜索的话,按n。

?text:和上面类似,但是是反方向。

ma:在当前光标的位置标记一个书签,名字为a。

书签名只能是小写字母。

你看不见书签的存在,但它确实已经在那里了。

`a:到书签a处。

注意这个不是单引号,它一般位于大部分键盘的1的左边。

`.:到你上次编辑文件的地方。

这个命令很有用,而且你不用自己去标记它。

高效的输入使用关键词自动完成VIM有一个非常漂亮的关键词自动完成系统。

这表示,你可以输入一个长词的一部分,然后按一下某个键,然后VIM就替你完成了这个长词的输入了。

举个例子:你有一个变量名为 iAmALongAndAwkwardVarName 在你写的代码的某个地方。

也许你不想每回都自己一个一个字母的去输入它。

使用关键词自动完成功能,你只需要输入开始几个字母(比如iAmAL),然后按<C-N>(按住Ctrl,再按N)或者<C-P>。

如果VIM没有给出你想要的词,基本按,直到你满意为止,VIM会一直循环它找到的匹配的字符串。

聪明的进入插入模式很多新手进入插入模式都只是用i。

这样当然可以进入插入模式,但通常不是那么合适,因为VIM提供了很多进入插入模式的命令。

下面是最常用的一些:i:在当前字符的左边插入I:在当前行首插入a:在当前字符的右边插入A:在当前行尾插入o:在当前行下面插入一个新行O:在当前行上面插入一个新行c{motion}:删除motion命令跨过的字符,并且进入插入模式。

比如:c$,这将会删除从光标位置到行尾的字符并且进入插入模式。

ct!,这会删除从光标位置到下一个叹号(但不包括),然后进入插入模式。

被删除的字符被存在了剪贴板里面,并且可以再粘贴出来。

d{motion}:和上面差不多,但是不进入插入模式。

有效的移动大段的文本使用可视选择(visual selections)和合适的选择模式不想最初的VI,VIM允许你高亮(选择)一些文本,并且进行操作。

这里有三种可视选择模式:v:按字符选择。

经常使用的模式,所以亲自尝试一下它。

V:按行选择。

这在你想拷贝或者移动很多行的文本的时候特别有用。

<C-V>:按块选择。

非常强大,只在很少的编辑器中才有这样的功能。

你可以选择一个矩形块,并且在这个矩形里面的文本会被高亮。

在选择模式的时候使用上面所述的方向键和命令(motion)。

比如,vwww,会高亮光标前面的三个词。

Vjj将会高亮当前行以及下面两行。

在可视选择模式下剪切和拷贝一旦你高亮了选区,你或许想进行一些操作:d:剪贴选择的内容到剪贴板。

y:拷贝选择的内容到剪贴板。

c:剪贴选择的内容到剪贴板并且进入插入模式。

在非可视选择模式下剪切和拷贝如果你很清楚的知道你想拷贝或者剪切什么,那你根本就不需要进入可视选择模式。

这样也会节省时间:d{motion}:剪切motion命令跨过的字符到剪贴板。

比如,dw会剪切一个词而dfS会将从当前光标到下一个S之间的字符剪切至剪贴板。

y{motion}:和上面类似,不过是拷贝。

c{motion}:和d{motion}类似,不过最后进入插入模式。

dd:剪切当前行。

yy:拷贝当前行。

cc:剪切当前行并且进入插入模式。

D:剪切从光标位置到行尾到剪贴板。

Y:拷贝当前行。

C:和D类似,最后进入插入模式。

x:剪切当前字符到剪贴板。

s:和x类似,不过最后进入插入模式。

粘贴粘贴很简单,按p。

使用多重剪贴板很多编辑器都只提供了一个剪贴板。

VIM有很多。

剪贴板在VIM里面被称为寄存器(Registers)。

你可以列出当前定义的所有寄存器名和它们的内容,命令为":reg"。

相关文档
最新文档