vim 编辑器常规使用

vim 官网

Linux系统命令行界面下的文本编辑器有很多,比如Emacs,pico,nano,joe和vim等。

因为几乎所有Unix Like都内置了vi编辑器,又因为vim是vi的高级版本,具有字体颜色辨别语法正确性的功能,所以今天写下vim的常规使用;

vim分为三种模式,分别是一般模式、编辑模式与命令行模式

一般模式:打开文件直接进入的就是一般模式,可使用上下左右按键来移动光标,可删除字符或整行,可复制、粘贴文件数据;

编辑模式:在一般模式下按下“i、I、 o、 O、 a、 A、 r、 R”其中任一字符可进入编辑模式,界面左下方会出现INSERT或REPLACE字样,按【ESC】键退出编辑模式。

命令行模式:在一般模式下输入“: / ?”三个中的任何一个按钮,光标会移动到最下面的一行进入命令行模式,可进行查找数据、读取、保存、替换字符、退出VIM、显示行号等操作;

如下图示:

简单范例

vim test.txt

# 直接进入一般模式,按“i”进入编辑模式(可以编写文件),按【ESC】回到一般模式,然后输入“:wq”保存后离开vim编辑器。

一般模式常用按键说明:

【Ctrl】+【f】:       屏幕向下移动一页 =【page down】按键

【Ctrl】+【b】:         屏幕向上移动一页 =【page up】按键

  数字0或【HOME】:      移动到这一行的首字符

  $或【End】:            移动到这一行的尾字符

  G:               移动到文件的最后一行

  nG:                n为数字,移动到文件的第n行

  gg:              移动到文件的第一行

  N:                光标向下移动n行

  /word:               向下寻找名称为word的字符串

  ?word:              向上寻找名称为word的字符串

  :n1,n2s/word1/word2/g       n1和n2为数字,在n1和n2行之间寻找word1字符串,并替换为word2。

  :1,$s/word1/word2/g        整个文件查找word1,并替换为word2

  :1,$s/word1/word2/gc         整个文件查找word1,并替换为word2,并提示用户是否需要替换

  xX                 x向后删除一个字符,X向前删除一个字符

  dd                删除光标所在整行

  ndd              删除光标所在向下n行

  yy                 复制光标所在的整行

  nyy               复制光标所在的向下n行

  pP              p在光标下一行粘贴,P在光标上一行粘贴

  u                复原前一个操作

【ctrl】+r            重做上一个操作  

  .              小数点,重复前一个操作

编辑模式常用按键说明:

i I a A o O r R           进入插入模式

命令行模式常用按键说明:

:w              将数据写入硬盘

:q               退出编辑器

:q!                强制离开编辑器

:wq               保存退出

:w【filename】         另存为

:f【filename】           读入另一个文件数据,并将内容加到光标所在行后面

:n1,n2w【filename】        将n1到n2的内容保存成filename这个文件

:!command             暂时离开命令行模式下执行command的显示结果。例:":!ls /home",可在vim编辑器中查看命令结果

:set nu               显示行号

:set nonu              取消行号

批量注释

1、Ctrl+v进入VISUAL BLOCK(可视块)模式,按 j (向下选列)或者 k (向上选列),再按Shift + i (大写 I )进入编辑模式然后输入你想要插入的字符(任意字符),再按两次Esc可实现批量插入字符

2、命令行模式下,输入 " : 首行号,尾行号 s /^/字符/g "实现批量插入字符。如 输入:2,7s/^/#/g,在2到7行首插入#

批量删除字符

1、Ctrl+v进入VISUAL BLOCK(可视块)模式,按 j (向下选取列)或者 k (向上选取列),直接(不用进入编辑模式)按 x 或者 d 就可以直接删去,再按Esc退出。

2、命令行模式下,输入 " : 首行号,尾行号 s /^字符//g "实现批量删除字符。如 输入:2,7s/^#//g,在2到7行首删除#

个人比较喜欢显示行号,所以为了永久显示行号,做了以下操作

echo "set number" >> /etc/vimrc   #vim永久显示行号

 语系编码转换

iconv list
iconv -f 原本编码 -t 新编码 filename [-o newfile]
iconv -f big5 -t utf8 vi.big5 -o vi.utf8

  

..........................................................美 丽 的 分 隔 符..................................................................

运动可以增加体力;读书可以增加知识; 自古只有天才的学生,没有天才的老师; 猴子不上树是看不见红屁股的, 人不做事情是看不出能力的。 时间花在那儿,擅长就在那儿。 钱花完了可以再赚,时间花了便一去不复返。
原文地址:https://www.cnblogs.com/shuter/p/11218648.html