Linux环境下强大的文本编辑器---vim

版权声明:本文为博主原创文章,如果喜欢欢迎收藏转载!如有错误,请指出! https://blog.csdn.net/h___q/article/details/82958254

认识vim

vim是一款著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。vim是一款开源免费的软件。

vim的使用

基本上vim可以分为3种模式:一般模式、编辑模式、命令行模式

  • 一般模式:用vim打开一个文件就会默认进入一般模式。该模式下可以使用上下左右键移动光标,也可以删除字符或删除整行,也可以复制、粘贴内容。
  • 编辑模式:在一般模式下,按“i\I\o\O\a\A\r\R”等任何一个字母之后都可以进入编辑模式,通常进入编辑模式之后,在界面左下方会出现INSERT字样,若想返回一般模式,按下[ESC]即可。
  • 命令行模式:在一般模式下,输入“ : / ?”3个中任何一个都可以将光标移动到最下面的一行,即进入命令行模式,只不过不同字符对应的可使用的命令不同,如果想从命令行模式返回一般模式,按下[ESC]即可。

按键说明

移动光标的方法:

操作 结果
h 或 [ ← ] 光标向左移动一个字符
j 或 [ ↓ ] 光标向下移动一个字符
k 或 [ ↑ ] 光标向上移动一个字符
l 或 [ → ] 光标向右移动一个字符
N(h/j/k/l)或N([←][↑][→][↓]) N代表数字,即向对应的方向N个字符
[Ctrl]+[f] 屏幕向下移动一页,相当于[Page Down]按键
[Ctrl]+[b] 屏幕向上移动一页,相当于[Page Up]按键
[Ctrl]+[d] 屏幕向下移动半页
[Ctrl]+[u] 屏幕向上移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
0 或 [home] 移动到这一行的最前面字符处
$ 或 [end] 移动到该行的最后一个字符处
H 光标移动到屏幕最上方那一行的第一个字符
M 光标移动到屏幕中央那一行的第一个字符
L 光标移动到屏幕最下方那一行的第一个字符
G 移动到该文件的最后一行
nG n为数字,移动到该文件的第n行
gg 移动到该文件的第一行,相当于1G
N[Enter] N代表数字,光标向下移动N行
/word 向下寻找一个名称为word的字符串
?word 向上寻找一个名称为word的字符串
n 重复前一个查找动作
N 反向进行前一个查找动作
: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。在替换之前显示提示字符给用户确认是否需要替换。
x,X x为后前删除一个字符,X为向前删除一个字符
nx n为数字,连续向后删除n个字符
dd 删除光标所在的整行
ndd n位数字,删除光标所在的向下n行
d1G 删除光标所在到第一行的所有内容
dG 删除光标所在到最后一行的所有内容
d$ 删除从光标所在处到该行的最后一个字符
d0 删除从光标所在处到该行的最前面一个字符
yy 复制光标所在的整行
nyy n为数字,复制光标所在的向下n行
y1G 复制光标所在行到第一行的所有数据
yG 复制光标所在行到最后一行的所有数据
y0 复制光标所在的字符到该行行首的所有内容
y$ 复制光标所在的字符到该行行尾的所有内容
p,P p为将已经复制的内容在光标所在行的下一行粘贴,P为将已经复制的内容在光标的所在行的上一行粘贴
J 将光标所在行与下一行的内容合成同一行
c 重复删除多个数据
u 撤销前一动作
[Ctrl]+r 重复上一个操作
. 重复前一个操作

编辑模式按钮说明:

操作 结果
i,I 进入插入模式:i为从目前光标所在处插入,I为在目前所在行第一个非空格字符处开始插入
a,A 进入插入模式:a为从目前光标所在处的下一个字符开始插入,A为从光标所在行的最后一个字符处开始插入
o,O 进入插入模式:o为在目前光标所在处的下一行插入新的一行,O为在目前光标所在处的上一行插入新的一行
r,R 进入替换模式:r只会替换光标所在处的那一个字符一次,R会持续替换光标所在处的字符,直到按下[ESC]为止

命令行操作:

操作 结果
:w 保存,将所编辑的内容写入到硬盘文件中
:w! 强制保存,若文件属性为“只读”时,强制写入该文件
:q 退出
:q! 强制退出,若修改过文件内容,又不想储存,使用“q!”为强制退出不保存文件
:wq 保存后退出
:wq! 强制保存并退出
ZZ 若文件没有改动,则不保存退出,若文件改动,则保存退出
:w[filename] 将编辑的内容保存为另一个名为[filename]的文件
:r[filename] 将名为[filename]的文件内容添加到光标所在行的后面
:n1,n2 w [filename] 将n1到n2的内容保存成filename这个文件
:!command 暂时离开vim到命令行模式下执行command的显示结果
:set nu 显示行号
:set nonu 不显示行号
:n 编辑下一个文件
:N 编辑上一个文件
:files 列出当前vim打开的所有文件
:sp [filename] 打开一个新窗口,如果加上[filename],则新窗口显示[filename]的内容,否则两个窗口显示同一个文件内容(同步显示)
[Ctrl]+w+j / [Ctrl]+w+[ ↓ ] 将光标移动到下方的窗口
[Ctrl]+w+k / [Ctrl]+w+[ ↑ ] 将光标移动到上方的窗口

当了解上面的内容后,就已经可以开始使用vim了,但是在使用的过程中发现,vim十分的不好用,这是因为vim还没有经过配置,没有经过配置的vim是十分不易使用的,所以这里建议一定要根据自己的喜好来配置vim。

配置vim

整体vim的配置文件一般放在/etc/vimrc这个文件中,不过不建议直接修改该文件,可以修改~/.vimrc这个文件(默认不存在,需自行手动创建),将所需要的设置值写入

其他强大的文本编辑器

Notepad++

  • 平台:windows/mac
  • 授权:免费
  • 说明:Notepad++是一款开源、小巧、免费的纯文本编辑器。除了纯文本,其他的很多文件都可以使用记事本来打开。例如ini配置文件、inf信息。还有很多文件类型实际上就是文本编码,例如Windows 库就是改了扩展名的、含有特定文本的文本文档。
  • 优点:所见即所得。

记事本

  • 平台:windows
  • 授权:windows系统内置
  • 说明:只可以处理纯文本文件,打开速度快,记事本可以保存无格式文件,你可以把记事本编辑的文件保存为:“ .html ”, “ .java ”,“ .asp ”等等任意格式。
  • 缺点:不可打开超大文件;仅可撤销一步操作;

Markdown

  • 平台:windows/mac
  • 授权:免费
  • 说明:Markdown是一种可以使用普通文本编辑器编写的标记(html标签)语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。

nano

  • 平台:Linux
  • 授权:免费
  • 说明:非常小巧的文本编辑器,它不像vim那样难以上手,但是功能也不如vim一样强大,仅仅可以处理简单的文本文件。

ed

  • 平台:Linux
  • 授权:免费
  • 说明:ed是Linux中功能最简单的文本编辑程序,一次仅能编辑一行而非全屏幕方式的操作。

猜你喜欢

转载自blog.csdn.net/h___q/article/details/82958254