当vi(vim)在编辑一个文件时,该文件就会被锁定,若此时另外一个用户或者同一用户再打开另一终端也希望进行编辑,会出现提示按键选择
以只读方式打开 :按字母o
直接编辑:按字母e 可能在保存文件时会发生冲突
恢复:按字母 r 表示上次编辑文件时导致崩溃,使用r可以恢复内容
退出:按字母q
1)vim的命令模式和插入模式切换
1 vim下的插入模式切换
2 1)i:在当前字符之前插入文本
3 2)I:在当前行的行首插入文本
4 3)a:在当前字符之后插入文本
5 4)A:在当前行的行尾插入文本
6 5)o:在当前行的下面添加一行
7 6)O:在当前行的上面添加一行
2)vim的末行模式
在输入Esc 后,退出到命令模式,输入:后set number就会在每行显示当前行号
3)vim的光标移动位置
9 vim下的光标移动命令
10 1)k:光标上移一行
11 2)j:光标下移一行
12 3)h:光标左移一个字符(输入7h则左移7个字符)
13 4)l:光标右移一个字符(输入7l则右移7个字符)
14 5)+:光标移动到下一行行首
15 6)-:光标移动到上一行行首
16 7)0:光标移动到当前行的行首
17 8)$: 光标移动到当前行的行尾
18 9)w:将光标移动到下一个单词的第一个字母(数字为一类,符号一类,字母一类)
19 10)b:将光标移动到上一个单词的第一个字母(与上雷同)
20 11)e:将光标移动到下一个单词的最后一个字符
21 12) (,):)是将光标移动到下一个句子的开始 (:将光标移动到上一个句子的开始
22 13){,}:}是将光标移动到下一个段落的开始,{:是将光标移动到上一个段落的开始
23 14)H:是将光标移动到屏幕顶部第一行的最左端
24 15)L:是将光标移动到屏幕的尾部
25 16)M:是将光标移动到屏幕的中间
vim的删除命令
vim下的删除命令令
1)x:删除当前字符,X删除当前光标左侧字符
2)dl:删除当前光标处的位置,与x命令相同; d0:从当前行的开始删除直到光标
3)d$:删除到行的末尾 ;D:删除到行的末尾
4)d^:从行的第一个字符开始删除 dw:删除到单词的末尾(d5w删除到第五个单词的末尾)
5)dt字符:删除到当前行字符的下一次出现 ;df字符:删除到当前行字符喜爱一次出现包括
6)d/字符串:删除到字符串的下一次出现
7)db:从单词的开始处删除 dW:删除到以空白为分隔符的单词的末尾
8)d{:从本段开始删除到当前位置 d}:从当前位置删除到本段结束
9)dd:删除一行(3dd删除从当前行开始的3行)
10)dL:从当前行删除到最后一行 dH:从屏幕的第一行开始删到当前行
vim的修改命令
vim下的修改命令
1)cl:删除当前光标处的字符,并进入插入模式;c0:从当前行开始删除,并进入插入模式
2)c$:删除到当前行的末尾,并进入插入模式;c^从行的第一个字符开始删除,进入插入模式
3)C:删除到行的末尾进入插入模式
4)cw:删除到单词的末尾进入插入模式; cW:删除到以空格为分隔符的单词的末尾进入插入
5)ct字符:删除到当前行该字符的下一次出现,进入插入;ef字符:删除到当前行該字符下一>次出现(包括該字符)进入插入模式
6)c/字符串:删除到該单词出现进入插入模式 c):删除到句子的末尾
7)c{:从本段开始删除到当前位置 c}:删除到本段结束
8)cc:删除当前行 cL:删除到最后一行 cH:从当前屏幕删除到当前行 进入插入模式
vim中修改字母大小写的命令
~在命令模式下用来更改字符大小写
vim中替换命令
vim下替换命令
1)s:用一个或多个字符替换当前光标所在字符
2)S:用一个或多个字符替换当前光标所在行(可以使用10s用一个或多个字符替换从开始10个
字符)
vim的合并命令
vim下合并行命令
1)J:在行尾使用J合并两行(合并后中间出现一个空格 ,若又'.'句号,出现两个空格)
vim的句点命令
vim下句点命令
1).:刚刚使用过dd命令,使用.会再次执行这个命令
vim的撤销命令
vim下撤销命令
1)u:可以撤销上一次的编辑 执行一次u撤销一次 多次使用u撤销多次
2)U:可以撤销当前行所有的修改
vim的查找字符命令
vim下查找字符
1)f:在当前行从光标处查找指定字符,找到执行在指定字符 没找到光标不移动
2)t:和f类似 t向后搜索 光标定位到指定字符前一个 T向前搜索 定位到指定字符后一个
3)查找命令可以与其他命令组合 d2fq:从光标开始搜索删除两次出现字符'q'之间的单词
vim中读入文件命令
vim读入文件命令
1):r :在末行模式下将指定的文件读入缓冲区,新读入的文件并不会覆盖缓冲区中的原文件
内容,而是插入到指定位置之后
2):4 r /home/wxc/GitSSH/123(文件目录) 即将文件内容插入到缓冲区第四行下面
vim中写入文件命令
vim写入文件命令
1):[address] w filename 将缓存区指定行写入到文件filename中,filename由自动生成>,若有filename文件 可以使用:[address] w [!] filename 强制执行覆盖文件
2):[address] w>> filename 从缓存区中一部分文件追加入文件中
eg: :3,8 w temp
vim中定位到指定行命令
1)行号+G:使用6G:定位到缓存区第六行
vim中的复制命令
1)yy:复制当前行读入缓冲区 复制多行数字+yy 复制光标下几行 例如5yy
2)Y:复制当前行读入缓存区 复制多行 5Y
vim中的粘贴命令
1)p:将缓存区中复制的内容粘贴在指定光标之后
2)P:将缓存区中复制的内容粘贴在指定光标之前
vim中重复命令
在撤销命令执行后又想重新执行該命令
1)Ctrl +R
2)在末行模式下输入:redo 按回车会重新执行被撤销的命令
vim中显示状态信息命令
1)Ctrl+G :显示文件名行号 行数 当前行号 当前行占缓冲区的比例
2)在末行模式下输入:f (与上一样)
vim中保存和退出命令
1):w :保存缓存区 但不退出
2)ZZ:保存退出和wq一样
3)wq:保存退出
4)!wq:不保存(但是这样的话一直会提示是否继续)
5)q!:不保存退出
vim中普通查找和增量查找
1):set noincsearch 在普通查找下输入/和字符串 按回车光标会出现在首次匹配位置
2):set incsearch 在增量查找中随着字符串的不断输入会高亮的显示
vim中替换字符串
1)s:string1/string2 在当前行中替换首次
2)%s/string1/string2/g 在所有行中把string1替换为strinig2
××--%表示整个缓冲区 g表示多次匹配
vim的窗口的水平拆分和垂直拆分
1):split
2):split filename 两个文件水平拆分
3):vsplit filename 两个文件垂直拆分