vim学习整理

jopen 10年前

1、各种插入模式

  • a → 在光标后插入

  • A → 当前行末尾插入

  • i  → 在当前光位置插入,就是将字符插到当前光标前面

  • o → 在当前行后插入一个新行

  • O → 在当前行前插入一个新行

  • c() → 删除()中选择方式得到的字符,而后在删除位置插入

  • cc=S → 删除当前行,在行开头插入(tab位置也删除)

  • C  → 删除当前位置至$,= c$

  • s → 删除字符然后插入(类似替换,r)

总结:以上插入方式a,i 没有删除功能

            c可以复合移动功能删除字符串,而后在原光标位置插入

            所谓的删除,都是相当于剪切,可以p还原剪切内容

            p还原到光标后,P还原光标前


2、打开/保存/退出/改变文件(Buffer)

  • :e <path/to/file> → 打开一个文件

  • :saveas <path/to/file> → 另存为 <path/to/file>

  • :xZZ , :wq :close → 保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)

  • :q! → 退出不保存 :qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。

  • :bn 和 :bp → 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。


3、简洁操作

  • . → (小数点) 可以重复上一次的命令

  • N<command> → 重复某个命令N次

  • % : 匹配当前括号移动,包括 (, {, [

  • * 和 #:  匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)

  • 0 → 到行头

  •  → 到字符串头

  •  → 到字符串尾

  • gU (变大写)

  • gu (变小写)


4、浏览目录

  •    到上级目录或 :cd ..

  • D    删除文件

  • R   改文件名

  • s   对文件排序

  • x   执行文件

  • :cd <dir>   改变当前目录

  • :pwd   查看当前目录

  • :ls  显示缓冲区列表,然后 buffer +缓冲区num 转到缓冲区

              或者    :bnext           缩写 :bn

                        :bprevious      缩写 :bp

                        :blast            缩写 :bl

                        :bfirst            缩写 :bf


5、分屏显示(ctrl w 窗口操作)

  • :split +filename  :vsplit 垂直分屏 (简写sp)

  • ctrl w (w)|(h、j、k、l)  将光标移动另一个窗口

  • 将光标移动到分割线上,改变窗口大小

  • ctrl w(H,J,K,L) 将窗口移动位置

  • ctrl w(=、+、-) 改变窗口大小

  • :only   仅保留一个窗口

  • :He   在下边分屏浏览目录(e=explorer)

  • :He!  在上分屏浏览目录 

  • 同理 :Ve

  • ctrl e/ ctrl Y  分别上下移动文本一行

  • :set scb  分屏同步移动

  • :set scb!  解除分屏同步

  • :Te  分页式浏览

  • gt    到下一个页

  • gT  到前一个页

  • {i} gt    i是数字,到指定页,比如:5 gt 就是到第5页

  • :tabs   看分页信息

  • :tabclose [i]   如果后面指定了数字,那就关闭指定页,如果没有就关闭当前