linux   vim编辑器总结

vim编辑器总结

目录

一 vi/vim 使用... 2

1. vi/vim 工作模式... 2

1.1 打开文件... 2

2 普通模式... 2

2.1 读文件... 2

3 编辑模式... 3

4 末行模式... 4

5 vim中的查找和替换命令... 4

6 vim环境设置... 5

7 高级功能... 6

8 打开多个文件... 7

9 文件恢复功能... 7

10 vim多行注释... 8

一 vi/vim 使用

  1. vi/vim 工作模式

vim 的三种工作模式 普通模式 编辑模式 末行模式

1.1 打开文件


命令


功能


vim +n filename


打开文件,并将光标置于第N行的行首


vim + filename


打开文件,并将光标置于最后一行行首


vim +/pattem filename


打开文件,并将光标置于第一个与patten匹配的行


vim –r filename


上次使用vim编辑器时发生系统崩溃,打开其交换文件


vim filename


打开文件,默认光标置于文件的第一个字母

2 普通模式

2.1 读文件

打开文件后,vim 进入的模式被称为普通模式,在这个模式中,可以使用键盘上的上、下、左、右方向键或其他键来移动光标。

移动光标参数:


操作


功能


h或 向左方向键


光标向左移动一个字符


j 或 向下方向键


光标向下移动一个字符


K 或 向上方向键


光标向上移动一个字符


L或 向右方向键


光标向右移动一个字符


Crtl+f


屏幕向下移动一页


Ctrl+b


屏幕向上移动一页


Ctrl+d


屏幕向下移动半页


Ctrl+u


屏幕向上移动半页


+


光标移动非空格符的下一列


-


光标移动非空格符的上一列


n<space>


光标会向右移动这一行的n个字符


0或功能键Home


移动到这一行的最前面字符处


$或功能键End


移动到这一行的最后面字符处


H


光标移动到屏幕最上方那一行的第一个字幕


M


光标移动到屏幕中间那一行的第一个字幕


L


光标移动到屏幕最下方那一行的第一个字幕


G


光标移动到这个文档的最后一行


nG


光标移动到这个文档的第N行


gg


光标移动到这个文档的第一行,相当于1G


n<Enter>


光标向下移动N行

3 编辑模式

进入到编辑模式


操作


功能


i,I


进入到编辑模式,i表示从当前行编辑,I表示从当前所在行的第一个非空格字符开始编辑


a,A


进入编辑模式,a表示从当前光标所在位置的下一个字符开始编辑,A表示从当前所在行的最后一个字符开始编辑


o,O


进入编辑模式,o表示从当前光标下一行进行编辑,O表示在目前光标所在行的上一行编辑新的一行


r,R


进入编辑模式,r表示只会取代光标所在的那一个字符一次,R表示会一直取代光标所在的文字,直到按下Esc键为止

删除、复制 粘贴(普通模式中实现)


操作


功能


x,X


在一行文字中,x为向后删除一个字符,X向前删除一个字符


nx


n为数字,连续向后删除n个字符


dd


删除光标所在的那一行


ndd


n为数字,删除光标所在行的向下n行


d1G


删除光标所在行到到第一行的所有数据


dG


删除光标所在行到最后一行的所有数据


d$


删除光标所在字符位置之后的该行的所有字符


d0


0为数字,删除光标所在字符位置之前的该行的所有字符


yy


复制光标所在的那一行


nyy


n为数字,复制光标所在行的向下N行


y1G


复制光标所在行到第一行的所有数据


yG


复制光标所在行到最后一行的所有数据


y0


复制光标所在那个字符到该行行首的所有数据


y$


复制光标所在那个字符到该行行尾的所有数据


p,P


p将复制的数据粘贴到光标的下一行,P将复制的数据粘贴到上一行


J


将光标所在行与下一行的文字结合同一行


c


删除当前行并转成编辑模式


u


撤销上次操作


Ctrl+r


重做上次操作

4 末行模式

编辑完文件,需要对文件进行保存或退出时,需要按Esc键回到普通模式,在末行输入wq即可保存退出

末行参数


操作


功能


:w


将编辑内容写入磁盘


:w!


强制写入


:q


退出vim


:q!


强制退出


:wq


保存退出


:wq!


保存强制退出


ZZ


若文件未修改,则退出,若文件已修改,则保存退出


:w[filename]


将编辑的文件存到filename 这个文件中


:r[filename]


将编辑的文件中读入另一个文档的内容


:n1,n2w[filename]


将n1行到n2行的内容写到filename这个文件中


:!command


暂时退出vim到命令行下,执行command的显示结果

5 vim中的查找和替换命令

在普通模式中输入”:” 、“/”、 “?”这三个字符中的任何一个都可以将光标移动到屏幕的最底下一行,即末行模式,在模式中可以进行查找 替换。

查找替换命令


操作


功能


/word


向光标之下寻找一个名为word的字符串


?word


向光标之上寻找一个名为word的字符串


n


重复进行前一个搜寻动作


N


反向进行前一个搜寻动作(向上查找)


:n1,n2s/word1/word2/g


n1与n2为数字,在第n1到n2行之间寻找word1这个字符串,并用word2取代该字符串

:1,100s/3308/3307/g 表示从1到100行替换3308为3307


:n1,$s/word1/word2/g


从第一行到最后一行寻找word1字符串,并用word2取代该字符串


:1,$s/word1/word2/gc


从第一行到最后一行寻找word1字符串,并用word2取代该字符串,并且在取代前显示提示字符以供使用者确认


noh


取消查找到内容后的高亮显示


:%s#3307#3309#g


全局替换

6 vim环境设置

vim在使用中,设置环境也是一个重要的环节,在末行模式使用相关命令可以这是相关的环境

设置环境命令参数


操作


功能


:set nu


设置行号


:set nonu


取消行号


:set hlsearch


将搜寻的字符串高亮显示,hlsearch是默认值


: set nohlsearch


将搜寻的字符串不高亮显示


:set autoindent


设置自动缩排


:set noautoindent


取消自动缩排


:set backup


设置自动备份,默认是nobackup,如果设置成backup,那么当更改文件时源文件会被另存成一个名为filename文件


:set nobackup


取消自动备份文档


:set ruler


在屏幕右下角显示状态行


:set noruler


不在屏幕右下角显示状态行


:set showmode


显示左下角的状态行


:set noshowmode


不现实左下角的状态行


:set backspace=(012)


在编辑模式下,设置退格键的功能,backspace为2时,可以删除任意值,为0或1时,仅删除刚刚输入的字符,而无法删除原本就已经存在的字符


:set all


显示目前所有的环境参数设置值


:set


显示与系统默认值不同的设置参数


:syntax on


设置文档依据程序相关语法显示不同的颜色


:syntax off


取消文档依据程序相关语法显示不同的颜色


:set bg=light


将文字显示为不同的颜***调,light是默认值


:set bg=dark


将文字显示为不同的颜***调

vim 的环境设置与记录:~/.vimrc, ~/.viminfo

vim会主动将你做过的行为记录下来,好让你下次可以轻松作业。那个记录操作的文件是:~/.viminfo,如果你曾经使用过vim,那你的主文件夹应该存在这个文件夹,这个文件是自动产生的,不必自行创建,而你在vim中所做过的操作记录就可以在这个文件内部查询到。

vim ~/.viminfo 可以查看到使用vim打开的文件历史记录

通过配置文件来直接规定我们习惯的vim操作环境,整体vim的设备值一般是放在/etc/vimrc(系统全局变量)这个文件中,不过,不建议去修改它,可以修改vim ~/vimrc 这个文件(默认不存在,需要手动创建),将你需要的值写入,例子:

[[email protected] ~]# cat ~/.vimrc 用户的局部变量

"wangxing" 批注信息

set hlsearch # 高亮度反白

set backspace=2 # 可随时用退格键删除

set autoindent # 自动缩排

set ruler # 可显示最后一行的状态

set showmode # 左下角那一行的状态

set nu # 可以在每一行的最前面显示行号

set bg=dark # 显示不同的底***调

syntax on # 进行语法检验,颜色显示

[[email protected] ~]

中文编码

中文编码有gb2312、big5、与utf8等,如果使用vim打开时 乱码问题需要考虑以下:  
1 linux系统默认的语系数据,/etc/sysconfig/i18n

2 你的终端接口(bash)的语系,这个与LANG这个变量有关;

3 你的文件原本编码

编码转换:

iconv -f GB2312 -t UTF-8 gb1.txt >gb2.txt 将GB2312 字码转换成utf-8

7 高级功能

文本内容的局部选择与操作(普通模式)


操作


功能


v


选择部分字符,在选择的第一个字符按”v”后移动光标,光标所经过处都会被选择


V


选择若干行,在选择的某行输入“V“,上下移动光标,光标经过行都会被选择


Ctrl+v


选择块,将光标移动文档的某个位置,输入“ctrl+v“,屏幕下方会出现”-VIMSUALBLOCK-“ 状态显示,移动光标,光标覆盖的矩形区域都会被选择


y


被选中的部分复制


P


粘贴复制的部分


d


被选中的部分删除

8 打开多个文件

[[email protected] /]# vim -o /etc/passwd /etc/group

打开目录

在末行模式下,:new和:split等命令不但可以打开普通文件还可以打开目录,一个目录打开之后将列出里面的文件信息,输入回车可继续打开相应的文件或子目录,也可输入“?“来查看帮助

vim设置环境文件

[[email protected] /]# vim /etc/vimrc

折叠隐藏文本

当一个文档太长,而用户只需要处理其中的一部分,可以把不需要的行给折叠隐藏起来

设置方法:

1. 在末行模式下输入:set nu 显示行号

2. 在普通模式下输入v,进入可视模式,把光标向下移动选择你需要折叠隐藏的行号,选中后按zf键即可折叠隐藏文本。

如下图:

9 文件恢复功能

使用vim编辑文档时,vim会在被编辑文档的目录下再建立一个名为filename.swap的交换文档,编辑时做的所有动作都会被记录在这个暂存档中,如果系统因某些原因中断了,那么filename.swap就起到救援的功能。

例恢复文件

1) 在vim的普通模式下输入ctrl+z,模仿不正常的文件中断

[1]+ Stopped vim /etc/vimrc

2) 在目录下回找个有一个交换文件

[[email protected] etc]# ll -a .vimrc.swp

-rw-r--r--. 1 root root 12288 Feb 23 09:46 .vimrc.swp

3) 当再次编辑时会出现

E325: ATTENTION

Found a swap file by the name "/etc/.vimrc.swp"

owned by: root dated: Mon Feb 23 09:46:45 2015

file name: /etc/vimrc

modified: no

user name: root host name: wx

process ID: 6803 (still running)

While opening file "/etc/vimrc"

dated: Fri Feb 17 23:17:03 2012

(1) Another program may be editing the same file.

If this is the case, be careful not to end up with two

different instances of the same file when making changes.

Quit, or continue with caution.

(2) An edit session for this file crashed.

If this is the case, use ":recover" or "vim -r /etc/vimrc"

to recover the changes (see ":help recovery").

If you did this already, delete the swap file "/etc/.vimrc.swp"

to avoid this message.

Swap file "/etc/.vimrc.swp" already exists! 提示交换文件已经存在

[O]pen Read-Only, (E)dit anyway, (R)ecover, (Q)uit, (A)bort:

[O]pen Read-Only 以只读的方式打开文档

(E)dit anyway 用正常的方式打开编辑的那个文件,但不载入交换文件的内容,注意这样做可能会导致两个使用者互相改变对方的文档。

(R)ecover 就是加载交换文件的内容,对挽救文档存盘并退出vim后,还是要手动自行删除那个交换文件

(D)elete it 确定那个交换文档是没用的,打开文档前删除交换文档

(Q)uit 退出vim,不进行任何动作就返回到命令提示符

(A)bort 忽略这个编辑行为,回到命令提示符

按照以上的提示,可以选择R,删除原来的/etc/.vimrc.swp后即可恢复文档

输入R他会提示Press ENTER or type command to continue

直接回车就行了/

Press ENTER or type command to continue按回车或者类型命令继续

4) 手动删除暂存档

[[email protected] etc]# ll -a .vimrc.swp

-rw-r--r--. 1 root root 12288 Feb 23 09:46 .vimrc.swp

[[email protected] etc]# rm -rf .vimrc.swp

[[email protected] etc]# ll -a .vimrc.swp

ls: cannot access .vimrc.swp: No such file or directory

[[email protected] etc]#

10 vim多行注释

Ctrl+v 进入列模式,向下或向上移动光标,把需要注释的行标记起来,然后按大写I,再插入注释符,比如#,再按esc,就会全部注释,或者也可以运行以下命令:


操作


功能


:s/^/#


#用”#” 注释当前行


:2,50s/^/#


#在2~50行首添加”#”注释


:.,+3s/^/#


#用”#”注释当前行和当前行后面的三行


:%s/^/#


#用”#”注释所有行

删除多行注释:

A 按下ctrl+v 进入列模式

B 选定要取消的注释符

C 按下”x”或者“d”(这样会删除1列)

时间: 2024-09-30 15:40:49

linux   vim编辑器总结的相关文章

Linux vim编辑器使用详解

在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明: Linux默认自带vi(vim)编辑器,其程序包为: [[email protected] ~]# rpm -qf `which vi` vim-minimal-7.2.411-1.8.el6.x86_64 [[email protected] ~]# rpm -qf `which vim` vim-enhanced-7.2.411-1.8.el6.x86_64 vim 编辑器模式切换: 命令模式 .命令行模式.编辑模

Linux Vim编辑器使用简单讲解

在Linux中,主要编辑器为vi或者vim,本文围绕vim做简单的讲解说明:Linux默认自带vi(vim)编辑器,其程序包为:[[email protected] ~]# rpm -qf `which vi` vim-minimal-7.2.411-1.8.el6.x86_64 [[email protected] ~]# rpm -qf `which vim` vim-enhanced-7.2.411-1.8.el6.x86_64vim 编辑器模式切换:命令模式 .命令行模式.编辑模式命令模

Linux Vim编辑器小结

Vim编辑器使用小结 vim编辑器的模式切换: 命令模式下的光标快捷移动键 字符级移动 h 左移一个字符 l 右移一个字符 单词级移动 w 移到下个单词首 e 移到本单词尾 b 移到本单词首 行级移动 $ 移到行尾 0 移到行首 j 下移一行 k 上移一行 段级移动 { 上移一段 } 下移一段 屏级移动 H 移到本屏幕第一行 L 移到本屏幕最后一行 文章级移动 G 移到文章末尾 1G 移到文章开头 命令模式下的快捷删除 d+光标快捷移动键 x 删除当前字符 dd 删除一行 命令模式下的复制 v+

Linux Vim编辑器的使用技巧

vi 编辑器  (vim 增强版) 一.vim模式 编辑模式(命令模式) 输入模式 末行模式 打开文件时默认处于编辑模式 模式转换 编辑模式-->输入模式 i:在当前光标所在文字的前面转换为输入模式 a:在.........后面....... o:在......行的下方新建一行并转为输入模式 O:在........上方........... I:在......行的行首转换为... A:..........尾...... 输入模式-->编辑模式 ESC 编辑模式-->末行模式 : 末行模式

linux vim编辑器

1.工作模式 命令模式(a,i,o等键)——>输入模式 输入模式(Esc键)——>命令模式 命令模式(:键)——>末行模式 末行模式(Esc键)——>命令模式 2.vim使用命令 1)光标移动 光标方向移动 ↑.↓.←.→ 上.下.左.右 翻页 Page Down或Ctrl+F 向下翻动一整页内容 翻页 Page Up或Ctrl+B 向上翻动一整页内容 行内快速跳转 Home或数字“0” 跳转至行首 行内快速跳转 End或"$" 跳转至行首 行间快速跳转 1G或

Linux vim编辑器使用技巧

:r  /path/filename   导入文件 :!  [命令]   暂时执行linux命令 :r !date  导入当前时间 定义快捷键 :map  [快捷键]  [触发命令] 例如: :map ^P I#<ESC> :map ^B 0x 连续行注释 :n1,n2s/^/#/g 连续行取消注释 :n1,n2s/^#//g 连续行斜杠号注释 :n1,n2s/^/\/\//g 连续行斜杠号取消注释 :n1,n2s/^\/\///g ^表示行首 /g表示不需要询问 替换 :ab mymail

Linux vim编辑器常用命令

vim文本编辑打开文件vim 文件名如果文件存在会直接打开改文件:如果文件不存在会创建一个文件后再打开三种模式命令模式:文件打开后的默认模式,只能查看文件内容不能修改输入模式:可以编辑和修改末行模式:保存退出 切换命令模式 --> 输入模式 按i键命令模式 --> 末行模式 按:键输入模式和末行模式 --> 命令模式 按Esc键备注:输入模式和末行模式不能直接切换,需要经过命令模式 命令模式操作光标行间的调整h:左移一个字符j:下移一行k:上移一行l:右移一行gg :跳转到文件的第一行G

Linux vim编辑器命令

插入命令 a   在光标所在字符后插入 A   在光标所在行尾插入 i    在光标所在字符前插入 I    在光标所在行行首插入 o   在光标下插入新行 O  在光标上插入新行 定位命令 :set nu   设置行号 :set no nu   取消行号 gg   到第一行 G   到最后一行 nG   到第n行 :n    到第n行 $   到行尾 0    到行首 删除命令 x   删除光标所在处字符 nx   删除光标所在处后n个字符 dd   删除光标所在行 ndd   删除光标后n行

linux下vim编辑器查找 关键字

在  linux  vim 编辑器 下查找   关键字 方法[一] 1?short_open_tag 1 : 它的意思是vim 打开文件的第一行 ? : 它的意思是反向查找 short_open_tag : 它是要查找的关键字