Linux之vim

vim :Vim是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富

安装vim

yum install -y vim-enhanced

  • vim是vi的升级版

  • vim带有颜色显示

  • vim的配置文件/etc/vimrc

  • 在用户家目录下,例如root用户 vim /root/.vimrc 可以自定义配置用户的vim

  • vim的三种模式

    1.一般模式

    2.编辑模式

    3.命令模式


vim一般模式下移动光标

  • h:向左移动一个字符

  • l:向右移动一个字符(作用等同于空格)

  • j:向下移动一个字符

  • k:向上移动一个字符

  • n+hjkl(n代表数字)移动n个字符

  • Ctrl+f:向下翻一页(等同于pagedown)

  • Ctrl+b:向上翻一页(等同于paggeup)

  • shift+6:移动到行首(等同于0)

  • shift+4:移动到行尾

  • gg:移动到首行行首

  • shift+g:移动到尾行

  • n--> shift+G:移动到第n行行首(n代表数字)

屏幕右下方会显示光标当前位置(哪一行,哪个字符位以及百分比)


一般模式下剪切、复制、粘贴

  • dd: 剪切当前行

  • ndd:自当前行起剪切后n行(n为数字)

  • x: 剪切当前位置后面一个字符

  • X: 剪切当前位置前面一个字符

  • yy: 复制当前行

  • y$:复制当前位置至行尾的所有字符(y^:当前位置至行首)

  • nyy:自当前行起复制后n行(n为数字)

  • v+移动光标可以选择要复制或者剪切的内容(y:复制;d:剪切;p:粘贴)

  • shift+v+移动光标:以行为单位来选择需要的内容

  • u:撤销上一次操作

  • U :撤销所有操作

  • ctrl+r:反撤销


vim 编辑模式

如何进入编辑模式:

  • i:定位在光标当前位置开始编辑模式

  • I:定位在当前行的行首开始编辑模式

  • o:在当前行下插入一空白行开始编辑模式

  • O:在当前行上插入一空白行开始编辑模式

  • a:定位在当前光标后一个字符处开始编辑

  • A:定位于当前行行尾开始编辑

  • s:删除当前字符,且定位于当前位置开始编辑模式

  • S:删除当前行且进入编辑模式


vim命令模式

  • /word :查找word字符串(n:向下查找下一个,N向上查找)

  • :1,ns/123/456/g:将1-n行所有123替换为456

1,n:表示1到n行

s:表示替换

123 :表示将要被替换的字符

456:表示替换后的字符

g: 表示全局替换,如果不加g,在某一行有两个匹配字符串的情况下,只会替换第一个匹配字符串

  • 1,$s/123/456/g:将整个文件的123替换为456

当" / "存在冲突的时候也可以用 # 来代替

  • ":wq":保存退出,等同于":x",在更改文件后使用两者无区别,在未做任何更改时,":wq"会改变Mtime,而":x"不会

vim 其他用法

在一般模式下还有一些特殊的用法

  • rr+字符,替换当前一个字符

  • R:进入替换模式,依次替换后面的字符,直到退出替换模式

  • Ctrl+v:进入块操作模式,类似于v,但是效果不一样

  • D或者输入d$:删除当前处到行尾字符

  • d^ :删除当前处到行首字符

  • dG :删除当前行到末尾行

  • :2,6d :删除2到6之间所有行

  • :w /root/zq.txt:将正在编辑的文件另存于/root下,重命名为zq.txt

  • :2,6 w /root/zq.txt :将正在编辑的文件的2到6行另存为zq.txt并保存在/root下

  • :r /root/zq.txt :将zq.txt写入正在编辑的文件中

  • :! cat /root/zq.txt:在编辑一个文件时,查看另一个文件zq.txt

  • :r ! cat /root/zq.txt:将 cat /root/zq.txt的结果导入正在编辑的文件的光标处

  • :10,15s/^/#/:在10到15行的行首增加“#”

  • :10,15s/^#//:在10到15行的行首去掉“#”

  • :10,15s/^/\/\//或者:10,15s@^@//@或者:10,15s#^#//#:在10到15行的行首增加“//”

  • :ab raul abcdefghijklmnopqrstuvwxyz:在编辑模式输入raul时会自动替换成abcdefghijklmnopqrstuvwxyz

  • :set readonly:将文件设置成只读文件,只有强制保存时才能保存

  • :set ic:查找关键字时不区分大小写

  • :set noic:查找时会区分大小写

  • :new /root/2.txt:比如在编辑1.txt文件,再打开root目录下的2.txt同时编辑,并把窗口上下水平分隔,一起显示

  • :vsplit /root/2.txt:比如在编辑1.txt文件,再打开root目录下的2.txt同时编辑,并把窗口左右垂直分隔,一起显示

  • ctrl+w组合键,再按左右,或者上下方向键:在不同窗口之间切换

  • :only:只保留当前正在编辑的窗口,其它全关闭

  • :e!:文件恢复到打开时的状态

设置忽略大小写,设定快捷键,设定自动替换,等操作,当电脑重启后就没有了。r如果把这些命令写入配置文件,这样电脑重启后还是可以使用

方法1:对所有用户生效

修改“/etc/vimrc”文件,在末尾加入需要设置的命令

方法2:对当前用户生效

修改用户家目录下的“.vimrc”文件,一般用户家目录下没有,需要自己手工创建

vim给文件加密

:X:在一般模式下,输入两次密码即可

:set key=:直接回车,清除密码

posted @ 2017-09-21 00:14  指环王Raul  阅读(149)  评论(0编辑  收藏  举报