命令: vim file1 file2 ...
vim命令详解 vim常用命令详解
以下以test1 和 test2 测试为例:
首先打开要编辑的文件:
输入命令:
:w
切换前先保存当前文件,“w”表示 write
输入切换命令:
:n te如果识别错误执行如下代码:st2
注意:n 后面存在 空格 ,如果“:n”后不加任何参数表示切换到下一个文件
编辑完成后使用:
:q 或者 :q! 命令退出文件编辑。
其它指令:
1、 “:e filename”与“:n filename” 用法相同
2、 “:n #” 交替编辑近处理过的两个文件,类似alt+tab的功能
3、 “:e! Filename” 放弃当前的修改,并强制转到指定文件
4、 “:q!” 强制退出vim编辑器
1、使用重定向符>
使用“>”创建空文件,且不输入文件内容
使用ls命令创建空文件,且不输入文件内容
3、使用touch命令创建文件
若所创建的文件不存在,则创建该文件; 且不允许输入文件内容
4、使用echo命令
echo "选填" > isTester.ini
若文件不存在,则创建文件;
若文件存在,则覆盖文件;
若文件不存在,使用>>创建文件并追加内容;
5、使用cp命令文件
6、vi/vim命令创建文件
使用vi或vim命令创建文件并编辑文件
在Linux系统中,一切皆文件,Windows系统可以直接右键新建,然而Linux则是需要通过执行命令来完成的,高效创建文件无疑是个非常重要的能力,如果使用得当,会节省你大量工作时间,在Linux系统下创建文件的这8种方法,你都知道哪些?
种:重定向符号>
通常重定向符号可以创建一个0kb的空文件,可用于重定向命令的输出到一个新文件中,在无命令时使用重定向符号,会创建一个文件。
但它不允许你在创建文件时向其中输入任何文本。但它对于不是很勤劳的管理员是非常简单有用的,只需要输入重定向符后面跟着你想要的文件名。
第二种:touch命令
用于将每个文件的访问和修改时间更新为当前时间,如果指定的文件名不存在,将会创建一个新的文件。
touch不允许在创建文件的同时向其中输入一些文本,它默认创建一个0KB的空文件。
第三种:echo命令
echo内置于大多数的作系统中。它常用于脚本、批处理文件,以及作为插入文本的单个命令的一部分。
它允许在创建一个文件时就向其中输入一些文本。当然也允许在之后向其中输入一些文本
第四种:pr5. 文本对象intf命令
用法与echo相同。
第五种:cat命令
cat是在类Unix系统中常使用的命令之一。它提供了三个与文本文件相关的功能:显示一个文件的内容、组合多个文件的内容到一个输出以及创建一个新的文件。(如果cat命令后如果不带任何文件的话,下面的命令在回车后也不会立刻结束,回车后的作可以按Ctrl-C或Ctrl-D来结束)
第六种:vi/vim命令
是一个向上兼容vi的文本编辑器。它通常用来编辑所有种类的纯文本。在编辑程序时特别有用,vim中有很多功能可以用于编辑单个文件。
第七种:nano命令
nano是一个小且用户友好的编辑器,它了pico的外观及优点,并且是一个自由软件,它添加了pico缺乏的一系列特性,像是打开多个文件、逐行滚动、撤销/重做、语法高亮、行号等等。
第八种:head命令
用于输出一个文件开头部分,默认会打印一个文件前10行,如果有多个文件,则每个文件前都会有一个标题,用于表示文件名。
首先我们要知道,Vim是一个需要学习的编辑器,如果只是使用而不进行专门的学习的话,是很难理解到Vim的精髓的。同样,Vim也是需要练习的编辑器,如果只是学习而没有实践的话,那也是浪费时间(除非你记忆力相当好,以后使用可以回忆起来,但是Vim的命令真心太多了~)。
既然要很优雅的使用Vim编辑器,自然需要对Vim有相当的了解,这里就简单的列举几个我认为Vimer需要理解和掌握的概念。
# 注1:本文的前提是读者已经会基本的Vim命令,如果是刚刚接触Vim,收藏一下就可以了,没必要现在看。
# 注2:这不是一个详细的教程,只是简单的指出Vim中比较重要的概念和命令。
# 注3:为了表达的需要,所有的实例都是用英文,光标的位置使用星号,如下
# 注4:[N] [I] [V] [C],表示在这种模式下面使用这个命令。下文会有讲解。
# 注5:写着写着真心累了,然后就偷懒了。。。
0. 键盘设置
1. 编辑器模式
你需要明白这么几个模式:
浏览文本的时候,一般使用Normal模式
编辑文本的时候,一般使用Insert模式
处理多行文本的时cat表示串联,在Linux经常用于读取一个文件中的数据。候,一般使用Visual模式
更高级的功能和设置的时候,一般使用Command-Line模式
2. 常用的编辑命令
你需要明白下面的基本编辑命令:
## 下面简单的列举常用的命令,不是很全,可以自己看相关书籍或者文档
i a/A s/S o/O # [N]这些是进入Insert模式使用的命令,还有很多,列出常用的
r/R # [N]这两个是替换字符的命令
d x/X # [N]这是删除命令
u C-r # [N]这是undo redo
y p/P # [N]这是粘贴
... 此处省略上百字 ...
## 下面的命令其实是很多命令的组合
dd # 删除一行
yy # 一行
C # 删除本行光标后面的文字,然后进入Insert模式
... 此处省略上百字 ...
## 既然要优雅,编辑器自带的东西是远远不够的,你需要:
1. 寻找各种插件来满足自己的寻求
2. 自己定义按键,定义函数,设置不同的编辑器参数
... 这一步将需要花费你一辈子的时间 ...
3. 光标移动与视图移动
目前,Vim是我见过的位置移动灵活的编辑器。同样,要想优雅的使用Vim,深入理解位置移动和视图移动是必不可少。
## 首先是基本的移动命令
hjkl # 基本的移动命令
C-d/u C-f/b C-e/y # 滚屏命令
zz zt zb # 非常好用的视图移动
H M L # 光标单屏移动
gg G # 文本开头,文本结尾,3gg是移动到第三行
0 $ # 行首行尾
## 然后是更加的定位级别的命令
f + 字符 # 搜索一行中的字符,然后移动,还有F、t、T命令
/ + 更多字符 # 全文搜索然后移动,还有?命令
模式匹配 # 这个是更高基本的了
4. 重复
前面只是基本的编辑,这个才是真正的王道啊!这里面有无穷的优雅,一定要灵活,不要去记忆什么东西。
## 几乎任何命令和使用重复的功能
如果你要滚屏然后C-f C-f C-f的慢慢的滚,如果使用重复3 C-f就OK了;
如果你使用dd删除,如果删除5行,使用5 dd就OK了;
如果使用p粘贴,要粘贴3次,3p就OK了;
3fe 5j 7C-u
好吧,又一个杀手级别的功能,理解了文本对象以及广义的文本对象,你的编辑速度会得到N倍的提升。
## 狭义的文本对象
# 如果按下 diw,Vimer就会删除
# 如果按下 das,整个句子都会删除
# 好吧,大概理解了iw指的是一个单词,as值得是一个句子,更多的有aw is ab a[ a} i' a" 好多啊。。。
## 广义的文本对象
1. 我们要明白当前光标是一个位置。
2. 我们会使用位置移动命令比如f3.
=> 那么两个位置就形成了一个文本对象:
所以,试试 3dfe d3fe dgg dG这些命令就伟大了!
对,Vim是可以同时编辑多个文件的,这个不赘述了。
要想优雅,必须要多窗口编辑啊,你要知道如何分窗口,如何在窗口之间快速的移动。
8. 配置与插件
很好,终于到了配置级别的了。
显示行数?可以!
自动保存?可以!
自动补全?自动缩进?更好的色彩?。。。。
简而言之:你想要的都在这里!
9. 更多功能
多剪贴板 # 内容到不同的粘贴板
书签 # 实现快速调整
模式匹配
... 省略无穷个字 ...
10. 一些废话
a. Vim需要系统的学习才能真正的体会它的强大。
b. Vim书籍,《学习Vi和vim编辑器(影印版)》,Vim的书籍不多,来一本看一本吧,看一本之后,其他书籍一两个小时就可以看完。
c. 无论你是否喜欢Emacs,你都要学习使用它。Vim影响你如何在Vim里面编辑,Emacs影响你如何在所有程序里面编辑。 # 如果你不接触linux或者mac,emacs或许可以不学
现在可以回答你的问题,如何优雅的使用Vim:
把Vim设置为系统的默认编辑器,把Caps Lock换成ESC
系统的学习Vim,有时间就通读Vim帮助文档
使用Vim一两年后学习使用Emacs编辑器,然后继续使用Vim
1.1普通模式用的编辑器命令,比如移动光标,删除文本等等。这也是 Vim 启动后的默认模式,在普通模式中,有很多方法可以进入插入模式。比较普通的方式是按 a(append/追加)键或者 i(insert/插入)键。
1.2插入模式,按键会向文本缓冲中插入文本。编辑器编辑过程中一直保持这个模式。在普通模式下使用下面的键将进入插入模式,并可以从相应的位置开始输入
i:在当前光标处进行编辑
I:在行首插入
A:在行末插入
a:在光标后插入编辑
o:在当前行后插入新行
O:在当前行前插入新行
cw:替换从光标所在位置后到一个单词结尾的字符
注意:注意每次要先回到普通模式才能切换成以不同的方式进入插入模式
在插入模式中,可以按 ESC 键回到普通模式。
1.3可视模式
这个模式与普通模式比较相似。但是移动命令会扩大高亮的文本区域。高亮区域可以是字符、行或者是一块文本。当执行一个非移动命令时,命令会被执行到这块高亮的区域上。Vim 的"文本对象"也能和移动命令一样用在这个模式中。
1.4选择模式
这个模式和无模式编辑器的行为比较相似(Windows 标准文本控件的方式)。这个模式中,可以用鼠标或者光标键高亮选择文本,不过输入任何字符的话,Vim 会用这个字符替换选择的高亮文本块,并且自动进入插入模式。
1.5命令行模式
在命令行模式中可以输入会被解释成并执行的文本。例如执行命令(:键),搜索(/和?键)或者过滤命令(!键)。在命令执行之后,Vim 返回到命令行模式之前的模式,通常是普通模式。
进入命令行模式后输入 :e
:q! 强啥叫清屏呀,vim 显示的是当前编辑的文件,怎么可能清掉。制退出,不保存
:q 退出
:wq 保存并退出
:w 文件路径 另存为
:seas 文件路径 另存为
:x 保存并退出
1.6Ex模式
这和命令行模式比较相似,在使用 :visual 命令离开 Ex 模式前,可以一次执行多条命令。
vim 启动进入普通模式,当处于插入模式或命令行模式时只需要按 Esc 或者 Ctrl+ [ 即可进入普通模式。普通模式中按 i(插入)或 a(附加)键都可以进入插入模式,普通模式中按 : 进入命令行模式。命令行模式中输入 wq 回车后保存并退出 vim。
文档加密
vim -x file1
输入您的密码,确认密码,下一次打开时,vim 就会要求你输入密码
一般模式常用作
【h(或向左方向键)】 光标左移一个字符
【j(或向下方向键)】 光标下移一个字符
【k(或向上方向键)】 光标上移一个字符
【l(或向右方向键)】 光标右移一个字符
【[0]或[Home]】 光标移动到当前行的前面
【[$]或[End]】 光标移动到当前行的末尾
【G】 光标移动到文件的一行(个字符处)
【nG】 n为数字(下同),移动到当前文件中第n行
【gg】 移动到文件的行,相当于"1G"
【n[Enter]】 光标向下移动n行
【延展阅读】
Linux世界几乎所有的配置文件都是以纯文本形式存在的,而在所有的Linux发行版系统上都有vi编辑器,因此利用简单的文字编辑软件就能够轻松地修改系统的各种配置了,非常方便。vi就是一种功能强大的文本编辑器,而vim则是高级版的vi,不但可以用不同颜色显示文字内容,还能进行诸如shell脚本、C语言程序编辑等功能,可以作为程序编辑器。
(二)为什么要学习vi/vim?
首先所有的Linux发行版系统上都会默认内置vi编辑器,而不一定带有其他文本编辑器,非常通用;其次,很多软件的编辑接口都会默认调用vi;第三,vi具有程序编辑的能力;,vi程序简单,编辑速度相当快速。
(三)vim配置文件
vim的配置文件为/etc/vimrc,但一般不建议直接修改这个文件,而是在用户根目录下创建一个新的隐藏文件:
vim ~/.vimrc
然后编辑这个文件,常用的配置如下:
bash
"双引号后面的内容为注释
set nu "显示行号
set hlsearch 若文件存在,使用>>追加文件内容;"查找的字符串反白显示
set backspace=2 "可随时用退格键进行删除
set showmode "在左下角显示模式
set bg=dark "显示不同的底色,还可以为light
syntax on "语法检验,颜色显示
参考资料
工具/材料
Vim编辑器
01
首先我们用vim命令d. 我对emacs和vim的看法:都是神器,都值得掌握!到你会发现无论哪个都无法满足你,但哪个都无法舍弃。个人感觉,对程序员而言,Emacs的对职业生涯的影响力更大。打开一个文档,如下图所示
02
接下来进入到文档以后我们会看到并没有语法高亮和行号样式,如下图所示
03
然后我们进入Vim的命令模式,在下方输入syntax on命令设置语法高亮,如下图所示
然后输入set number命令给文档开启行号,如下图所示
设置完了以后我们保存退出文档,然后在进来的话就会看到设置的效果都没有了,如下图所示
06
接下来我们用vim打开vimrc文档,如下图所示,这个文档是所有的vim样式文档
07
打开vimrc文档以后我们按i进入编辑模式,输入刚才的syntax on和set number命令,然后保存退出,如下图所示
08
我们在重新通过vim进入文档6. 多文本编辑就会看到现在就自动有语法高亮和行号了,如下图所示
在vim中,
是换行,
是回车。 表示的是回车,也就是苹果公司生产的电脑的作系统内默认的换行符。
在windows作系统中,默认的是
;在unix/linux作系统中默认的是
;这两个系统只需要在vi/vim中输入命令:%s/
//g或者:%s/[ctrl-v][ctrl-m]//g ====== :%s/^M//g,两者的效果是一样的。
注意,这里的ctrl-v和ctrl-m是你键盘上的按键,而不是直接打输入字母上去,所以显示出来的是:%s/^M//作为软件测试工程师,不可避免需要作到 Linux 系统,vi/vim 是 Linux 系统内置的不可或缺的文本编辑命令,VIM 是 vi 的加强版本,兼容 vi 的所有指令,不仅能编辑文本,而且还具有 shell 程序编辑的功能,可以不同颜色的字体来辨别语法的正确性,极大方便了程序的设计和编辑性。g。
vim中一些常见命令:vim -c cmd file: 在打开文件前,先执行指定的命令;vim -r file: 恢复上次异常退出的文件;vim -R file: 以只读的方式打开文件,但可以强制保存;vim -M file: 以只读的方式打开文件,不可以强制保存; vim -y num file: 将编辑窗口的大小设为num行;vim + file: 从文件的末尾开始;vim +num file: 从第num行开始;vim +/string file: 打开file,并将光标停留在个找到的string上;vim --remote file: 用已有的vim进程打开指定的文件。
工具/材料 LINUX作系统(ubuntu/Centos)
在命令行敲入“vi”后按"tab"键,可以看到目前系统中只安装了vi和vim.tiny。
可以发现,系统默认是syntax on没有安装vim的,因此就需要我们手动进行安装。
ubuntu系统:
普通用户下输入命令:sudo apt-get install vim-gtk
centos系统:
普通用户下输入命令:yum -y install vim
图片:wq! 强制保存并退出以ubuntu为例
这里,输入“y”后,回车。
之后不需要任何作,等待安装完成。
安装完成之后,在命令行敲入vi,按“tab”键。
可以看到,已经有vim命令的存在。
安装成功。
在命令行下,输入命令:sudo vim /etc/vim/vimrc
必须加上sudo,否则你是没有权限编辑vimrc的。
在这个文件中,会有这么一句:
意思是语法高亮,如果您的被注释掉了,请“让它出来”。就像下图所示
图中就是一个简单的配置方案,保存之后,配置完毕。
我们来编写一个小程序,如下图所示,可以看出,界面已经比较美观了。
特别提示
centos、Fedora与Ubuntu的作类似,只是需要采用yum进行安装调试。
vi/vim 三种模式:命令模式/一般模式(command mode)、插入模式(input mode)、末行模式/指令命令模式(last line mode)。
命令模式/一般模式:
刚刚启动 vi/vim,则进入一般模式,可以移动光标、粘贴、删除字符等。此状态下键盘输入会被识别为命令作,常用到的包括 i(切换到插入模式),x(删除当前光标所在字符),:(切换到命令行模式)。
插入模式:
在一般模式下按下键盘【i, I, o, O, a, A】进入插入模式,屏幕的左下方会出现【--INSERT--】的字样,表示当前模式下,用户可以编辑修改文本的内容。按下【Esc】则退出编辑模式。
末行模式/指令命令模式:
在一般模式下按下键盘【: / ?】任意一个,光标移动到下面一行,进入末行模式。可以查找数据、替换、可保存文件、退出 vi、显示行号等作。
1、vi lemon.txt:
打开 lemon.txt 文件进入一般模式;当 lemon.txt 不存在则会创建 lemon.txt 文件,保存退出后,则新建成功。
2、移动光标:
进入一般模式后,可在键盘输入以下,移动光标位置。
[Ctrl]+[f]:光标向下移动一页。
[Ctrl]+[b]:光标向上移动一页。
0:移动到光标所在这一行的前面字符处。
$:移动到光标所在这一行的面字符处。
[PgUp]/[PgDn]/[Home]/[End]按键:从当前光标处往上、下、左、右移动。
G:移动到这个文件的一行。
g:移动到这个文件的行。
N[Enter]:N 为数字,光标向下移动 N 行。
3、删除、和粘贴:
进入一般模式后,可在键盘输入以下,实现删除、、粘贴。
x,X:在一行字中,x 为向后删除一个字符(相当于[Del]键),X 为向前删除一个字符(相当于[Backspace])。
dd:删除光标所在的一整行。
ndd:删除光标所在的向下 n 行。
yy:光标所在的一行。
nyy:光标所在的向下 n 行。
p,P:p 为将已的内容在光标的下一行粘贴,P 则为粘贴在光标的上一行。
4、一般模式切换到插入模式:
进入一般模式后,可在键盘输入以下,切换到插入模式,进行文件编辑作。
i,I:进入插入模式,i 为从目前光标所在处插入。I 为在目前所在行的个非空格字符处开始插入。
a,A:进入插入模式。a 为从目前光标所在处的下一个字符处开始插入。A 为从所在行的一个字符处开始插入。
5、查找和替换:
按 vi 进入文件后,可进行以下作进行查找和替换
/lemon:向下寻找一个名称为 lemon 的字符串。
?lemon:向上寻找一个名称为 lemon 的字符串。
:n1,n2s/lemon1/lemon2/g:在第 n1 行和 n2 行之间寻找 lemon1 这个字符串,并且将其替换为 lemon2.
:1,$s/lemon1/lemon2/g:从行到一行寻找 lemon1 这个字符串,并且将其替换为 lemon2.
:1,$s/lemon1/lemon2/gc:从行到一行寻找 lemon1 这个字符串,并且将其替换为 lemon2.且在替换前显示提示字符给用户确认是否需要替换。
6、编辑数据后切换到末行模式:
进行文件编辑后,按键盘【Esc】退出编辑模式,并可以进行以下作,
:w:将编辑的数据写入到硬盘中。
:q:不保存退出 vi;后面加!为强制退出 vi。
:## 上面的命令基本可以完成任务了,但是想要优雅,还不过,你需要知道简洁的命令wq:保存后退出 vi。后面加!为强制保存后退出 vi。
VIM 是 vi 的升级版本,除了兼容 vi 的所有指令,VIM 还具有一些新的特性,主要体现在:
多级撤销
我们知道在 vi 里,按 u 只能撤消上次命令,而在 VIM 里可以无限制的撤消。
易用性
vi 只能运行于 unix 中,而 VIM 不仅可以运行于 unix,windows ,mac 等多作平台。
语法加亮
VIM 可以用不同的颜色加亮显示代码。
可视化作
VIM 不仅可以在终端运行,也可以运行于 x window、 mac os、 windows。
1、vim显示历史命令,先按q,再按:
q发挥自己的想象力吧,Vim的重复无处不在,比如下面的例子::
2、vim搜索历史命令,行按q,再按/
q/
3、vim定位历史命令,和vim标准模式类似,按j 上按k下。
4、vim执行历史命令,直接按enter键
在linux下的VIM中替换命令的格式是;[range]s/pattern/string/[c,e,g,i]
range:指的是范围
s(search):表示搜索
pattern:就是要被替换的字符串
string:将替换pattern
C:每次替换前询问
g(globe):不询问,将做整行替换
e(error):不显示error
i:(ignore)不分大小写
:s/p1/p2/g
用p2替换p1
:n1,n2s/p1/File1 file2 表示同时编辑 file1 和 file2这两个文件,系统默认先编辑个文件,即file1。p2/g
将n1到n205行中的p1用p2替换
版权声明:本文内容由互联。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发 a13828211729@163.com 邮箱删除。