Linux中vim编译器作用,linux   vim编辑器总结

vim编辑器总结

目录

一 vi/vim 使用vi/vim 工作模式

6f59a649eb33e5364a3ca066cec04ba4.png

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光标会向右移动这一行的n个字符

0或功能键Home移动到这一行的最前面字符处

$或功能键End移动到这一行的最后面字符处

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

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

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

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

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

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

n光标向下移动N行

3 编辑模式

进入到编辑模式操作功能

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

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

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

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

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

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

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

dd删除光标所在的那一行

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

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

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

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

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

yy复制光标所在的那一行

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

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

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

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

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

p,Pp将复制的数据粘贴到光标的下一行,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/gn1与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 这个文件(默认不存在,需要手动创建),将你需要的值写入,例子:

[root@bacula-client ~]# cat ~/.vimrc 用户的局部变量

"wangxing" 批注信息

set hlsearch # 高亮度反白

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

set autoindent # 自动缩排

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

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

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

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

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

[root@bacula-client ~]

中文编码

中文编码有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 打开多个文件

[root@wx /]# vim -o /etc/passwd /etc/group

打开目录

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

vim设置环境文件

[root@wx /]# vim /etc/vimrc

折叠隐藏文本

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

设置方法:

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

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

如下图:

7c9b64b283f1b30b4274b323dee1c6b1.png

9 文件恢复功能

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

例恢复文件

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

[1]+ Stopped vim /etc/vimrc

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

[root@wx 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) 手动删除暂存档

[root@wx etc]# ll -a .vimrc.swp

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

[root@wx etc]# rm -rf .vimrc.swp

[root@wx etc]# ll -a .vimrc.swp

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

[root@wx etc]#

10 vim多行注释

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

:s/^/##用”#” 注释当前行

:2,50s/^/##在2~50行首添加”#”注释

:.,+3s/^/##用”#”注释当前行和当前行后面的三行

:%s/^/##用”#”注释所有行

删除多行注释:

A 按下ctrl+v 进入列模式

B 选定要取消的注释符

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值