怎么修改pos单文字(vim 文本编辑器)

快鱼网 49 0

vim是vi的升级版,最常见的区别是能用多种颜色显示显示系统文件的一些特殊信息。

vi: Visual Interface 文本编辑器,可视化接口

vim:vi iMproved的缩写,即vi的增强版

vim编辑器分为三种主要模式:

命令模式(编辑模式):默认模式,移动光标,剪切/粘贴文本(界面表现:左下角显示文件名或为空)

插入模式(输入模式):修改文本(界面表现:左下角显示—INSERT–)插入模式下,按ESC按键返回命令模式

末行模式(扩展模式):保存、退出等(界面表现:左下角显示—VISUAL–)末行模式下连续按两次ESC按键返回末行模式

Esc建:退出当前模式

Esc建Esc建:总是返回到命令模式

用vim打开文件用法:

例如:【vim abc.txt】作用:打开abc.txt文件

例如:【vim +# abc.txt】作用:打开abc.txt文件,光标定位在abc.txt文件的第#行

例如:【vim + abc.txt】作用:打开abc.txt文件,光标定位在最后一行

例如:【vim +/PATTERN abc.txt】作用:打开abc.txt文件,定位第一次被PATTERN(模式)匹配到的行的行首

模式之间的切换

注意:vim打开文件后,默认进入的模式为:命令模式:

命令模式下进入插入模式(输入模式)输入:【i】或者【o】或者【a】等

命令模式下进入末行模式(扩展模式)输入:【:】

使用vim编辑多个文件

【vim FILE1 FILE2 FILE3】可以同时编辑FILE1 FILE2 FILE3这三个文件

【:next】切换至下一个文件

【:prev】切换至前一个文件

【:last】切换至最后一个文件

【:first】切换至第一个文件

vim的命令模式(编辑模式)常用快捷键

1) 模式转换

a) 【i】:在当前光标所在字符的前面,转为输入模式

b) 【a】:在当前光标所在字符的后面,转换为输入模式

c) 【o】:在当前光标所在行的下方,新建一行,并转换为输入模式:

d) 【I】:在当前光标所在行的行首,转换为输入模式

e) 【A】:在当前光标所在行的行尾,转换为输入模式

f) 【O】:在当前光标所在行的上方,新建一行,并转换为输入模式;

g) 【cc】删除当前行并输入新内容,相当于S。扩展【#cc】

h) 【C】删除当前光标到行尾,并切换成插入模式

改变命令

【c】修改后切换成插入模式

命令模式–>插入模式

【c^】删除光标处到行首的字符,并进入插入模式

【c$】删除光标处到行尾的字符,并进入插入模式

【c0】(c零)删除光标处到当前行首的第一非空字符,并进入插入模式

【cb】删除当前第一个单词,并进入插入模式

【ce】删除下一个单词,并进入插入模式

【cw】删除光标处到单词词尾,并进入插入模式

2) 逐字符移动

a) 【h】向左

b) 【l】向右(小写的L)

c) 【j】向上

d) 【k】向下

e) 【#COMMAND】移动#个字符

例如: 【#h】向左移动#个字符

【#l】向右移动#个字符

【#j】向上移动#个字符(相当于向上移动#行)

【#k】向下移动#个字符(相当于向下移动#行)

3) 当前页跳转

a) 【H】:当前页的页首

b) 【M】:当前页的中间行

c) 【L】当前页的页底

4) 以单词为单位移动

a) 【w】移动至下一个单词的词首

b) 【e】跳至当前或下一个单词的词尾

c) 【b】跳至当前或前一个单词的词首

d) 【#COMMAND】跳到第#个单词

例如: 【#w】跳转到第#个单词的词首

【#e】向下跳转到第#个单词的词尾

【#b】向上跳转到第#个单词的词首

5) 行内跳转

a) 【0】(零) :绝对行首,光标移动到当前行的行首

b) 【^】光标移动到当前行首的第一个非空白字符

c) 【&】光标移动到当前行的行尾

6) 行间跳转(相当于上下跳转)

a) 【G】跳转到最后一行(整个文档的最后一行)

b) 【gg或者1G】跳转到文档的第一行

c) 【#G】跳转到第#行(文档最上为第一行)

注意:想要跳转到最后一行可以输入【0G】也是最后一行

7) 句间移动

a) 【)】下一句

b) 【(】上一句

8) 段落间移动

a) 【}】下一段

b) 【{】上一段

9) 常用快捷键滚动

a) 【Ctrl + e】向下滚动一行

b) 【Ctrl + y】向上滚动一行

c) 【Ctrl + d】向下滚动半屏

d) 【Ctrl + u】向上滚动半屏

e) 【Ctrl + f】向下滚动一屏

f) 【Ctrl + b】向上滚动一屏

10) 字符编辑

【x】删除光标处的字符

【#x】删除从光标处开始向后#个字符

【xp】光标所在处的字符和光标后面的字符对调位置

【~】转换大小写

【J】删除当前行后的换行符

11) 替换命令(r,replace)

【r】替换光标所在字符

【R】切换成REPLACE模式

12) 删除命令(剪切命令)

注意:d命令删除的字符会默认复制到剪贴板

a) 【d】删除命令,可以结合光标跳转字符,实现范围删除

b) 【d$】删除到行尾

c) 【d^】删除到非空行首

d) 【d0】删除到行首

e) 【dd】删除光标所在行

f) 【#dd】多行删除

g) 【D】从当前光标位置一直删除到行尾,留空行,等同于【d$】

h) 【de】

i) 【dw】

j) 【db】

k) 【#COMMAND】

l) 【Shift + j】删除两行质检的空行,实际上是合并两行

插入模式(输入模式下的剪切)

正常模式(默认模式)下按v(逐字)或V(逐行)进入可视模式,然后用【j】【k】【l】【h】命令移动即可选择某些行或字符,再按d即可剪切

13) 复制命令(y,yank)

a) 【y】复制,可以结合光标跳转字符,实现范围复制(行为与d有类似之处)

b) 【y$】复制到行尾

c) 【y^】复制到非空行首

d) 【y0】复制到行首

e) 【yy】复制当前行

f) 【#yy】复制多行

g) 【Y】整行复制

h) 【ye】

i) 【yw】

j) 【yb】

k) 【#COMMAND】

14) 粘贴命令(p,paste)

a) 【p】缓冲区存的如果为整行,则粘贴当前光标所在行的下方,否则粘贴至当前光标所在处的后面

b) 【P】缓冲区存的如果为整行,则粘贴当前光标所在行的上方,否则粘贴至当前光标所在处的前面

15) 撤销更改

a) 【u】撤销最近的更改

b) 【#u】撤销之前多次更改

c) 【U】撤销光标落在这行后所有此行的更改

d) 【按Ctrl + r】重做最后的“撤销”更改(相当于取消撤销)

e) 【.】重做前一个操作

f) 【#】重复前一个操作#次

vim的末行模式(扩展模式)

命令模式下进入末行模式(扩展模式)输入:【:】

退出命令

【:q】退出

【:x】保存退出

【:wq】保存并退出

【:q!】强制退出并或略所有更改

【:e!】放弃所有修改,并打开源文件

注意:在默认模式的退出方法

【ZZ】保存并退出

【ZQ】不保存退出

附加:

【:!COMMAND】执行COMMAND命令,和shell交互

【r!COMMAND】读入命令的输出

【r filename】读取filename文件内容到当前文件中

【w filename】将当前文件内容下入filename文件中

地址定界(可以用于查找和替换等)

语法:【:start_pos,end_pos】

例如:

【:#】具体第#行,例如2表示第2行

【#,#】从左侧#表示起始行,到右侧#表示结尾行

【#,+#】从左侧#表示的起始行,加上右侧#表示的行数

例如【:2,+3】表示2到5行

【.】表示当前行

【$】最后一行

【%】全文,相当于【1,$】

例如:【:.,$-1】表示当前行到倒数第二行

扩展命令模式:地址定界

注意:地址界定默认是从光标位置开始(即在默认模式进入命令模式时的光标位置)向下搜索匹配(如果查到到文件结尾,依旧没找到,会从头开始查找)

【:/pat1/,/pat2/】从第一次被pat1模式匹配到的行开始,一直到第一次被pat2匹配到的行结束

【:#,/pat/】从第#行开始,一直到第一次被pat匹配到的行结束

【:/pat/,$】从第一次被pat匹配到的行开始,一直到最后一行

地址界定后面可跟随的编辑命令

【d】例如:【:/pat1/,/pat2/d】

表示,从光标位置开始向下匹配,第一次匹配到“pat1”的位置开始到第一次匹配到pat2结束是的末行,删除末行。(注意:如果匹配结果是多行,只会删除最后一行)

【y】例如:【:/pat1/,/pat2/y】

表示,从光标位置开始向下匹配,第一次匹配到“pat1”的位置到第一次匹配到“pat2”的位置直接,复制内容到剪贴板。

【w file】将范围内的行另存至指定文件中。

例如:【:/pat1/,/pat2/w ./abc.txt】

表示从光标位置开始向下匹配,第一次匹配到pat1的位置到第一次匹配到pat2的位置内容写到当前目录下的abc.txt文件中。

【r file】在指定位置插入指定文件中的所有内容。

例如:【:/pat1/,/pat2/r ./abc.txt】

表示从光标位置开始向下匹配,第一次匹配到“pat1”的位置到第一次匹配到“pat2”的位置的行末插入abc.txt文件内容

查找并替换

【:/PATTERN】从当前光标所在处向文件尾部查找匹配“PATTERN”相同的内容。

【:?PATTERN】从当前光标所在处向文件首部查找匹配“PATTERN”相同内容

【n】与命令同方向

【N】与命令反方向

扩展命令模型:查找并替换

【s】在扩展模式下完成查找替换操作

格式:【s/要查找的内容/替换为的内容/修饰符】

要查找的内容:可以使用模式

替换为的内容:不能使用模式,单可以使用\1,\2等后向引用符号;还可以使用“&”引用前面查找时查找的整个内容

修饰符:

【i】忽略大小写

【g】管局替换;默认情况下,每行只替换第一次出现

【gc】全局替换,每次替换前询问

注意:查找替换中的分隔符【/】可用其他符号替代,例如【@】【#】等

如果需要对全文替换可以使用如下命令

【:1,$s/^.*\(你好\).*/\1/ig】其中【1,$】为地址界定。

地址定界与查找替换扩展模式结合使用

【:4,8s/^.*\(你好\).*/\1/ig】这种为只替换第4行到第8行之间的内容,其中【4,8】表示4行到8行之间的内容

【:/par1/,/par2/s/^.*\(你好\).*/\1/ig】这种为从第一次匹配到par1到第一次匹配par2之间的内容中间,

按照【s/^.*\(你好\).*/\1/ig】命令进行匹配替换

帮助命令

【:help or F1】显示整个帮助

【:help xxx】显示xxx的帮助,比如:【:help I】【:help CTRL-[】即Ctrl+[的帮助

【:help ‘number’】Vim选项的帮助用单引号刮起

【:help 】特殊建的帮助用<>扩起

【:help –t】Vim启动参数的帮助用-

【:help –i_】插入模式下Esc的帮助,某个模式下的帮助用(模式_主题)的模式

帮助文件中位于||之间的内容是超链接,可以用Ctrl+]进入链接,Ctrl+o(Ctrl + t)返回

其他非编辑命令

【:.】重复前一次命令

【:set ruler?】查看是否设置了ruler,在.vimrc中,使用set命令设置的选项都可以通过这个命令查看

【:scriptnames】查看vim脚本文件的位置,比如.vimrc文件,语法文件及plugin等

显示非打印字符

【:set list】显示非打印字符,比如tab,空格,行尾等。如果tab无法显示,请确定用set lcs=tab:>-命令设置了.vimrc文件,并确保你的文件中的确有tab,如果开启了expendtab,那么tab将被扩展为空格。

【:set nolist】关闭非打印字符

行号:

【:set number】显示行号或者【:set nu】

【:set nu】关闭行号显示

大小写

【:set ignorecase】忽略区分大小写或者【:set ic】

【:set noignorecase】不忽略大小写或者【:set noic】

设置自动缩进

【:set autoindent】设置自动缩进或者【:set ai】

【:set noai】取消制动缩进

查找文本高亮显示或取消

【:set hlsearch】设置高亮显示

【:set nohlsearch】取消高亮显示

语法高亮显示

【:syntax on】开启语法高亮显示

【:synatx off】关闭语法高亮显示

辅助保留格式

【:set paste】启用复制保留格式

【:set noPaste】关闭复制保留格式

文件格式

【:set fileforma=doc】启用windows格式。或者【:set ff=doc】

【:set fileforma=unix】启用unix格式。或者【:set ff=nuix】

设置文本宽度

【:set textwidth=65】启用

【:set wrapmargin=15】禁用

设置光标所在行的标识线

【:set cursorline】或者【:set cul】启用标识线

【:set no cursorline】或者【:set not cul】禁用标识线

【:set or】查看set帮助或者【:set all】

vim可视化模式

默认模式下输入:

【v】按照字符选取,或者【ctrl + v】【V】按矩形快选取

可视化建可用于与移动建结合使用

【w】【)】【}】箭头灯

突出显示的文字可被删除,复制,变更,过滤,搜索,替换等

vim多窗口

语法:【vim –o|-O FILE1 FILE2 …】

【-o】水平分割显示

【-O】垂直分割显示

命令模式下输入【:qa】关闭所有窗口

窗口间切换:Ctrl+w,Arrow

单文件窗口分割:

【Ctrl+w,s】split,水平分割

【Ctrl+w,v】vertical,垂直分割

【Ctrl+w,q】取消相邻窗口

【Ctrl+w,o】取消全部窗口

【:wqall】退出

vim配置文件

【/etc/vimrc】vim的全局配置文件

【~/.vimrc】用户的vim配置文件

相关编辑器

文本:ASCII,Unicode

文本编辑器种类:

行编辑器:sed

全屏编辑器:nano,vi

vim-Vi Improved

其他编辑器:

gedit 一个简单的图形编辑器

gvim 一个Vim编辑器的图形版本

帮助(vim --help)

[root@gdy103 ~]# vim --help

VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Apr 5 2012 10:17:30)

用法: vim [参数] [文件 ..] 编辑指定的文件

或: vim [参数] - 从标准输入(stdin)读取文本

或: vim [参数] -t tag 编辑 tag 定义处的文件

或: vim [参数] -q [errorfile] 编辑第一个出错处的文件

参数:

-- 在这以后只有文件名

-v Vi 模式 (同 "vi")

-e Ex 模式 (同 "ex")

-s 安静(批处理)模式 (只能与 "ex" 一起使用)

-d Diff 模式 (同 "vimdiff")

-y 容易模式 (同 "evim",无模式)

-R 只读模式 (同 "view")

-Z 限制模式 (同 "rvim")

-m 不可修改(写入文件)

-M 文本不可修改

-b 二进制模式

-l Lisp 模式

-C 兼容传统的 Vi: 'compatible'

-N 不完全兼容传统的 Vi: 'nocompatible'

-V[N][fname] Be verbose [level N] [log messages to fname]

-D 调试模式

-n 不使用交换文件,只使用内存

-r 列出交换文件并退出

-r (跟文件名) 恢复崩溃的会话

-L 同 -r

-A 以 Arabic 模式启动

-H 以 Hebrew 模式启动

-F 以 Farsi 模式启动

-T 设定终端类型为

-u 使用 替代任何 .vimrc

--noplugin 不加载 plugin 脚本

-P[N] 打开 N 个标签页 (默认值: 每个文件一个)

-o[N] 打开 N 个窗口 (默认值: 每个文件一个)

-O[N] 同 -o 但垂直分割

+ 启动后跳到文件末尾

+ 启动后跳到第

--cmd 加载任何 vimrc 文件前执行

-c 加载第一个文件后执行

-S 加载第一个文件后执行文件

-s 从文件 读入正常模式的命令

-w 将所有输入的命令追加到文件

-W 将所有输入的命令写入到文件

-x 编辑加密的文件

--startuptime Write startup timing messages to

-i 使用 取代 .viminfo

-h 或 --help 打印帮助(本信息)并退出

--version 打印版本信息并退出

[root@gdy103 ~]#

标签: 模式

抱歉,评论功能暂时关闭!