0%

Linux-vim

一、Vim有四种模式

1、命令模式/正常模式(Command mode)

敲击键盘动作会被Vim识别为命令,而非输入字符。启动Vim默认进入命令模式。[1]

  • i:切换到插入模式
  • :切换到底线命令模式
  • v:进入可视化模式(小写V、大写V、Ctrl+V均可进入该模式下)
  • U:撤销上一步操作
  • yy - 复制当前行,包括换行符
  • dd - 剪切当前行,包括换行符
  • p键可以将内容粘贴到当前光标后面

2、插入模式(Insert mode)

编辑文本,需进入该模式

  • Esc:退出插入模式,进入命令模式

3、底线命令模式(Last line mode)

  • Esc:退出底线命令模式,进入命令模式
  • q!:不保存,强制退出vim
  • wq:保存,退出vim
  • q:不保存,退出vim
  • w:保存,不退出vim

4、可视化模式(Visual-mode):

  • 文本选择:小写V进入(选择是以字符为单位的)、大写V进入(选择是以行为单位的)、Ctrl+V进入(矩形区域作为目标文本,以按下 Ctrl+v 位置作为矩形的一角,光标移动的终点位置作为它的对角)[2]

  • 可视化命令:

    命令 命令
    d 删除选中的部分文本。
    D 删除选中部分所在的行,和 d 不同之处在于,即使选中文本中有些字符所在的行没有都选中,删除时也会一并删除。
    y 将选中部分复制到剪贴板中。
    p(小写) 将剪贴板中的内容粘贴到光标之后。
    P(大写) 将剪贴板中的内容粘贴到光标之前。
    u(小写) 将选中部分中的大写字符全部改为小写字符。
    U(大写) 将选中部分中的小写字符全部改为大写字符。
    > 将选中部分右移(缩进)一个 tab 键规定的长度(CentOS 6.x 中,一个tab键默认相当于 8 个空白字符的长度)。
    < 将选中部分左移一个 tab 键规定的长度(CentOS 6.x 中,一个tab键默认相当于 8 个空白字符的长度)。

二、小技巧

1、设置行号

vim ~/.vimrc 写入:set number

2、设置粘贴模式

:set paste + 回车 + i

3、快速到达首尾

  • gg:跳转到文件头
  • 行数 +gg:跳转到指定行
  • shift + g :跳转到文件末尾

4、多行注释

:20,30 s/^/#/g :20-30行 用 # 注释掉。(python是用#注释地~~~)

:20,30 s/^#//g :20-30行 取消注释

  • 注释:

    ​ Ctrl + v :vim中的视图模式,把要注释的内容选上 ​ shift + i :插入字符 ​shift + # :把#插入到要注释的行前面(在第一行有显示) ​ Esc :按至少2次Esc,则会把所有选中的行都在其前面加#

  • 取消注释:

    ​ Ctrl+v:进入视图模式 ​ 上下方向键选中要注释的行,左右键选择要删除的字符# ​ 按d删除

5、vim的搜索功能

在 normal 模式下按下 / 即可进入查找模式,输入要查找的字符串并按下回车。 Vim 会跳转到第一个匹配。按下 n 查找下一个,按下 N 查找上一个。[3]

+