Linux vim使用心得I

简介:

1.什么是vim

vi,即Visual Interface,可视化接口。vim,即Visual Interface iMproved,vi的增强版。由于LINUX的哲学思想之一:大都数程序的配置文件都是以纯文本格式的文件存在的,所以掌握一款文本编辑器尤为重要,如简单易用的nano,如十分强大的vim。另外在编写BASH脚本时,VIM提供语法高亮显示功能,这将非常有利于我们编写脚本。


2.VIM的模式

VIM是一款全屏文本编辑器,而且是一个模式编辑器。在不同模式下,对键盘输入有着不同理解。

常用的模式有:

A.命令模式

B.输入模式

C.末行模式

当我们利用vim file时,此时将直接进入命令模式。模式之间的转化关系,如下所示:

wKiom1OMkPrCOVtFAACbFLsrWDU429.jpg

说明:

  • 在命令模式下,可以通过i,a,o,I,A,O进入到插入模式进行编辑。i表示insert,在当前光标的所在字符的前面进行插入;a表示append,在当前光标所在字符的后面进行追加;o表示在当前光标所在行的下面新建一行进行编辑。I表示在当前光标所在行的行首进行插入;A表示行尾插入,O表示光标所在行的上面新建一行进行编辑。

  • 在末行模式下,需要2次ESC进入命令模式

  • 插入模式和末行模式不能直接进行转化,需要通过命令模式


3.如何在打开文件时就定位光标?

如果我们直接使用vim file,那么光标将直接定位至第一行行首。我们可以这样:

1
2
3
4
5
6
#表示打开文件并光标定位至NUMBER行
vim +NUMBER  file
#表示打开文件并光标定位至文件末尾
vim +  file
#表示打开文件并光标定位至第一次匹配正则所在的行
vim + /regexp  file


4.如何退出VIM?

退出VIM,我们最常见的就是在末行模式下,输入下面的一些操作命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#不保存并退出,当然如果文件发生了修改,只给一个q想退出,是不行的
:q
 
#强行退出,很显然,这是为了放弃编辑所带来的修改
:q!
 
#保存并退出。注意到,有些文件是only read的,那么此时想WRITE的话,必须是管理员且使用w!
:wq
 
#强行保存
:w!
 
#x equals wq
:x

本文转自zfz_linux_boy 51CTO博客,原文链接:http://blog.51cto.com/zhangfengzhe/1421285,如需转载请自行联系原作者



相关文章
|
5月前
|
Unix Linux 开发工具
在Linux中,有哪些基本的 Vim 命令?
在Linux中,有哪些基本的 Vim 命令?
|
3月前
|
存储 运维 搜索推荐
|
3月前
|
Java Unix Linux
Linux vi/vim
Linux vi/vim
34 5
|
3月前
|
机器学习/深度学习 Linux 编译器
Linux入门3——vim的简单使用
Linux入门3——vim的简单使用
69 1
|
3月前
|
Unix Linux 开发工具
Linux Vim的 命令大全
Linux Vim的 命令大全
35 0
|
4月前
|
存储 Linux Shell
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
这篇文章介绍了Vim编辑器的基本使用、常用命令和模式,以及Linux系统中用户和组的管理方法,包括用户和组相关文件如/etc/passwd、/etc/shadow和/etc/group的说明。
常用vim命令和vim基本使用及Linux用户的管理,用户和组相关文件
|
4月前
|
存储 Linux 编译器
linux中vim介绍以及常用命令大全
linux中vim介绍以及常用命令大全
92 8
|
5月前
|
搜索推荐 Linux 网络安全
Linux系统中的Vim编辑器
【8月更文挑战第21天】Vim是一款功能强大的文本编辑器,在Linux系统中广泛使用。它具有三种基本模式:命令模式,用于执行操作但不能编辑文本;插入模式,允许用户像常规编辑器那样输入文本;底线命令模式,用于保存、退出及查找替换等操作。Vim还支持多窗口编辑、宏录制及插件扩展等功能,并可通过配置文件个性化设置。因其高效性、良好的可移植性和远程编辑能力,Vim特别适用于开发者和系统管理员。
|
6月前
|
搜索推荐 Linux 开发工具
|
6月前
|
JSON Java Linux
linux 命令使用总结:vim,nohup,find,df,du,sudo,netstat,ll,curl,lastlog
linux 命令使用总结:vim,nohup,find,df,du,sudo,netstat,ll,curl,lastlog
80 5