vim 键盘
vim 3种模式:命令模式(正常模式 normal模式)、编辑模式(插入模式 insert模式)、可视化模式(visual模式)
1. 命令模式:可以通过快捷指令进行快捷操作,如删除粘贴等。
行、单词的快捷键:
命令模式下输入 u :撤销,按1一次撤销1次
命令模式下输入光标定位 上 k 下 j 左 h 右 l
命令模式下输入w 一跳为一个单词,或一个特殊字符,光标停在下一个单词的开头
命令模式下输入e 一跳为一个单词,或一个特殊字符,光标停在下一个单词的结尾
命令模式下输入b 一跳为一个单词,或一个特殊字符,光标停在上一个单词的开头,
命令模式下按home键 ,光标进入本行开头,依旧为命令模式
命令模式下按end键 ,光标进入本行末尾,依旧为命令模式
命令模式下按$键 (即shift + 4),光标进入本行末尾,依旧为命令模式
命令模式下按^键 (即shift +6),光标进入本行行首,依旧为命令模式
命令模式下按0(数字零)键 ,光标进入本行开头,并进入插入模式
命令模式下按A键 ,光标进入本行末尾,并进入插入模式
命令模式下输入 ciw :快速删除该单词(光标可放至单词任意位置),并进入插入模式
命令模式下输入 ct 字符" :快速删除光标(含光标字符)至我们指定的字符前之间的内容,并进入插入模式
命令模式下输入 ctf :快速删除光标(含光标字符)至f字符前之间的内容,并进入插入模式
文件快件键:
命令模式按G,进入文件最后一行
命令模式按gg,进入文件首行
nG或ngg ,指定到文件第n行
同时按f+字符 快速定位到当前行,光标之后的第一个字符处(通常在行首使用),如果有多个相同字符,可以使 用分号;进行下一个选择。
同时按Fm 同上,只是反向查找。
分为一般命令模式和底部命令模式****
1.1一般命令模式
vim默认进入的是一般命令模式,输入a o i 便可进入编辑模式
1.2底部命令模式
通过输入:即可进入底部命令模式
-
:行数 跳到第几行 行首
- 数字A , 数字B d ,剪切A行到B行的内容
:nohl 不高亮
:9,11/^/#/ 替换
2.编辑模式:按a o i 进入,按esc进入命令模式,再按u 撤销,按1一次撤销1次
o 表示在当前行的下一行插入一行来进入插入模式
O 表示在当前行的上一行插入一行来进入插入模式
a 表示在当前行(光标后的位置)进入插入模式
A 表示在当前行末尾进入插入模式
i 光标的当前位置的前面进入插入模式
I 表示在当前行行首进入插入模式
3.可视化模式
:常用于批量操作,一般模式下按v可进入可视模式
分为可视行模式(v) 和可视块模式(ctr+v),可视化字符等等
4.使用技巧
4.1复制粘贴
命令模式下按yy,复制整行,按o插入一行,按esc进入命令模式,按p进行粘贴(注:p当前行下一行粘贴,P当前行上一行粘贴)
命令模式下输入y+end键, 复制光标位置至行尾的内容,按p粘贴
命令模式下输入y+home键, 复制行首至光标位置内容,按p粘贴
4.2剪切粘贴
命令模式下按s 删除光标所在字符
命令模式下按dd,剪切当前行,若如不粘贴p,即删除当前行
命令模式下按数字+dd,剪切按当前计算的数字行数,若如不粘贴p,即删除该剪切内容
命令模式下按d+gg: 剪切文本开头至光标行位置的内容。
命令模式下按d+G: 剪切光标行至文本末尾的所有内容
命令模式下d+end 键 (或d+$[shift+4]),剪切光标位置至行尾的内容== D 亦可快速删除光标至行尾的内容
命令模式下d+home 键(或d+^[shift+6]或d0[数字零]),剪切行首至光标位置的内容
底部命令模式下输入 : 数字A , 数字Bd ,剪切A行到B行的内容
命令模式下daw,剪切一个词和,光标可以在任意位置
命令模式下das,剪切一个句子(段落),光标可以在任意位置
命令模式下dw,剪切该单词的当前光标字符到单词结束的内容!
删除空格、空白行、注释
底部命令模式下,输入:g\sync/d 匹配文件中所有的sync行后删除
底部命令模式下,输入:g^(行首)$(行尾)/d 匹配文件中所有的空白行后删除
底部命令模式下,输入 :g/^KaTeX parse error: Expected 'EOF', got '#' at position 27: …行 底部命令模式下,输入:g/#̲\|^/d 删除空白行+注释
底部命令模式下,输入:g\^$\|^\s*$\|^#/d 删除#注释/空白行/空字符串行
4.3修改
单个字符修改
命令模式下:输入r+修改字符,便会将光标字符修改为输入修改的字符–
多个字符修改
命令模式下:输入R+修改内容,若不要的用空格,不用改的跳过即可,改完后按esc会从替换模式回到命令模式
底部命令模式输入 :s/root/sync/ 将光标行的第一个root改为sync
底部命令模式输入 :s/root/sync/g 将光标行所有的root改为sync
底部命令模式输入 :%s/root/sync/ 文本的所有行的第一个root改为sync
底部命令模式输入 :%s/root/sync/g 文本所有行的root改为sync,即文本中的root均改为sync
底部命令模式输入 :%s/root/sync/gc 文本所有行的每一个root进行确认是否修改为sync
底部命令模式输入 :1,6s/sbin/bin/ 第一行至第六行每一行的第一个sbin改为bin
底部命令模式输入 :1,6s/sbin/bin/g 第一行至第六行每一行的每一个一个sbin改为bin
底部命令模式输入 :1,6s/^/#/ 1-6行注释
底部命令模式输入 :1,6s/#// 取消1-6注释
编辑模式下输入已输入字符串前部,按ctr键+n 可以快速填充
编辑模式下输入已输入字符串前部,按ctr键+x,再按ctl+f 可以快速填充文件名
4.4保存与退出
:w 写入磁盘中,否则文件只在缓冲区,未保存
:wq 保存并退出 == :x ==命令模式下,ZZ (即shift+zz)保存并退出
:wq! 强制保存并退出
:q! 不保存强制退出
另存为
:w file2 将修改的文件保存到另外一个文件
:r +文件名 将文件名的文件读取至当前文件中来
:e! 重新读取文件,即还原文件
:Sex 垂直分屏 ,用法同下
:Vex 水平分屏,用ctr+ww 跳至另外一个屏幕,然后再按ctr+ww后,再底部命令模式下输 :q 进行还原(qall两个屏幕全部退出)
光标至文件名,命令模式下按 gf 打开以该文件。然后使用ctrl + ^ (即ctr+shift+6)可以再次回到原文件。
命令模式下,ZZ (即shift+zz)保存并退出
4.5排版
底部命令模式输入 :le 本行文字靠左
底部命令模式输入 :ri 本行文字靠右
底部命令模式输入 :ce 文本放中间
输入v,进入可视化模式 按< (即shif+,)是该行向左缩进
输入v,进入可视化模式 按> (即shif+。)是该行向由缩进
. 表示重复
u 撤销
ctrl + r 反撤销
4.6大小写转变
:按V进入可视化模式,移动光标,然后按U/u会将该内容大写/小写
若内容有大小写,进入可视化模式后,按shift+ ~ 便可互换
4.7加密
底部命令模式输入 :X 这样文件将会加密
底部命令模式输入 :set key= 这样文件将会解密
4.8设置
:set nu 显示行号
:set nonu 取消行号
:syntax on 语法高亮
:syntax noon 取消语法高亮
:set list 显示换行符
:set nolist 不显示换行符
:set ai 自动对齐
:set noai 取消自动对齐
:set si 自动缩进+自动对齐
:set nosi 取消自动缩进+自动对齐
set incsearch 增量搜索
set noincsearch 关闭增量搜索
4.9文件格式转换
设置为windows格式:
:set fileformat=dos
设置为unix格式:
:set fileformat=unix
简写:
:set ff=unix|dos
set incsearch 增量搜索,一边搜索 一边显示
set showcmd 显示命令
以上设置只针对当前shell有效,故创建一个文件 vim /etc/vimrc(全局)
或者个人的配置 vim .vimrc 进行设置
注 映射关系设置如下,
自动补全设置按tab键插入模式;命令模式 tab 等等;
设置函数,bash文件模板设置如下: