vim-基础及进阶

来源:互联网 发布:程序员找工作保密协议 编辑:程序博客网 时间:2024/06/05 16:47

第一部分 基础

1. 帮助-help

  • man vim
  • vim -h
  • 进入vim后,在命令模式中输入help ,例如:”:help i”

2. vim的四种模式

  1. 正常模式(normal-mode)
    • 可用于浏览或者修改文档
    • 一般启动vim都是进入了正常模式
  2. 插入模式(insert-mode)
    • 一般用于修改文档
  3. 命令模式(command-mode)
    • 多用于操作文件本身,如保存,退出等;
    • 改变编辑器状态,如多栏窗口等
  4. 可视模式(visual-mode)
    • 高亮文本

3. 模式切换

3.1 others -> normal

 在其他的模式下,按下Esc键,都可以回到正常模式。

3.2 normal -> insert

输入字母i,进入插入模式,底部有"-- INSERT--"字样,使用i进入的插入模式,可以在光标所在的字符前开始输入文字除了字母i外,还有其他命令I,a,A,s,S具体不详述,个人还是常用字母i进入插入模式

3.3 normal -> command

字符冒号(:)进入命令模式,后面可以接命令,如:":q"-代表退出

3.4 normal -> visual

 v 可视模式     V 可视块模式

3.5 其他模式转换

可以通过normal作为中间的跳板,例如从插入模式转到命令模式,可以按esc回到正常模式,然后输入冒号进入命令模式

4. 基本操作

  1. 正常模式,插入模式,命令模式切换
  2. 命令模式”:wq”–保存并退出;”:q!”不保存,强制退出,刚刚的修改丢掉

第二部分 进阶

1. 正常模式切换到插入模式

  • i 在光标前插入
  • a 在光标后插入
  • o 在当前行后插入新行

2. 快速选择单词

  • “shift + 数字8/数字3”

3. 移动光标

注:这些命令都是在正常模式下使用,英文输入法状态

hjkl   移动一个字符,等同与←↓↑→0   数字0,到行头^   输入方式:shift+数字6。光标到行头(非blank位置,blank指空格,回车等)$   输入放肆:shift+数字4。光标到行尾(含blank位置)g_   光标到行尾(非blank位置)w    下一个单词开头e    下一个单词结尾%    匹配括号(小括号(),中括号[],大括号{})移动*    匹配光标所在的单词,移动光标到下一个单词位置#    匹配光标所在的单词,移动光标到上一个单子位置

4. 跳转

注:这些命令都是在正常模式下使用,英文输入法状态

:N  跳转到第N行NG  跳转到第N行gg  跳转到第一行G   跳转到最后一行''/``    

5. 标记

标记可以取a-z之间的字母,这些标记不可见,只是vim记住了一个位置。
标记方式: m{mark} 如,用a标记当前光标位置,”ma”
显示比较: :marks 在命令模式中使用marks可以显示标记
跳转方式: ‘{mark} 如,跳到标记a的位置, “‘a”。这里的撇,即可以是单引号,也可以是反引号(与~在同一个键子上),二者还是有点小区别的,单引号是跳到标记行的行首,反引号比单引号跳转的精确,不仅跳到标记行,而且跳转标记的列。

6. 搜索

注:这些命令都是在正常模式下使用,英文输入法状态

/partten    搜索partten字符串,区分大小写,默认是向下搜索。  如果有多个,按小写字符n代表继续向下搜索,大写字母N代表继续向上搜索?partten    搜索partten字符串,区分大小写,默认是向下搜索。可以看到/与?的区别就是搜索的方向性不同,当时,n与N所代表的含义也正好是相反的。更快:      光标停留在待搜索词的位置,"shift + *"快速选择这个单词,然后按n或N来进行搜索

7. 复制/粘贴

yy   拷贝当前行dd   剪切当前行p    小写p,代表在当前行后粘贴P    大写P,代表在当前行前粘贴

8. 重复操作

.           英文.,重复上依次操作n<commmand> 重复n次命令,如:"2p",粘贴2

更多技巧,参考链接:
Learn-Vim-Progressively