Linux 编辑器之神 --VIM

Posted wpt2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 编辑器之神 --VIM相关的知识,希望对你有一定的参考价值。

好用的文本编辑工具有 vim  和 emasc   ,    Emacs被公认为是最受专业程序员喜爱的代码编辑器之一  ,   如果仅为了编辑文本,那么推荐vim   

vim 命令 

#vi(无颜色)
或
#vim(有颜色)


vim [ 选项 ] / 路径 / 文本文件名


+num    打开某个文件直接跳转到 num 行

-b            以 binary 方式打开文件 , 用于编辑二进制文件
    
-R            以只读方式打开文件

    

  vi  有三种工作模式

1.

命令行模式

command line

2.

输入模式

input mode

3.

末行模式

last line mode

 

command line 主要做替换 , 删除 , 复制等工作。

 

input mode                            主要做内容编辑

 

last line mode 主要对文件进行编辑操作 , 如保存文件

  用上下左右来移动光标

G(shift+g)    直接移动到文件末尾
gg    直接移动到文件头

如果要移动到指定的某一行的话 vi 也可以办到假设光标当前在 500 行
1000G    向下移动到 1000 行
50gg    向上移动到 500( 数字键 )    直接移动到行头

$    直接移动到行末

单词移动
w    直接移动到下一个单词

b    直接移动到上一个单词


PageUp    向下翻一页

PageDown    向上翻一页


H    将光标移动到当前屏幕的最上
M    将光标移动到当前屏幕的中间
L    将光标移动到当前屏幕的最下

zz    将光标当前行为基准放在屏幕中间

x    删除光标所在位置的字符

D    从光标开始到行末全部删除

dd    删除光标所在的一行

dw    删除光标后的一个单词

db    删除光标所在的前一个单词

dG    删除光标所在行到文件末尾的所有内容

dgg    删除光标所在行到文件头的所有内容

4x    删除光标之后的 4 个字符 ( 包含光标 )

u    撤销刚才的操作 , 可以连续使用
U    撤销一行中的所有操作

ctrl + r    取消撤销的内容

 ctrl + g 显示当前编辑文件的信息

y          复制 , 如 yw 复制一个单词

yy         复制一行

p          粘贴 ( 光标后 )

 

(剪切需要先删除然后到指定位置直接粘贴即可)

 

v键用来选中 , V用来选中整行  , ^v用来选中整列

插入 :

 

a :在光标后开始插入  i: 在光标前开始插入   O(大写) : 在光标下一行开始插入新的空行  o(小写): 在光标所在行首插入一行

 vim中搜索直接按  / +搜索的字符  即可(可以用正则表达式匹配)   取消搜索结果用  noh

 

末行模式 : 

:w    保存文件
:q    退出 vi编辑
:q!  强制退出
:w! 强制保存 :wq 保存文件并退出 vi 编辑器 ( 无论是否修改了文件 ) :e 不离开 VI ,开始编辑一个新的文件 :w
<filename-new> 存储当前编辑的文件到一个新的文件 :x 文件仅被修改时才写入 并退出 , 未写入则直接退出

想跳转到指定行时直接在末行模式输入指定行数即可跳转

保存n1行到n2行时输入 :n1 , n2w /要保存的目录/文件名

 如果要在当前编辑的文件中的某一行读入其它文件的内容

 :23r /home/last.txt 在当前文件的 23 行开始读入 /home 目录下的 last.txt 文件

 

 

 vi可以同时打开多个文件      命令  vi  文件 1 文件 2 文件 3 文件 4

:next     切换到下一个文件
:previous   切换到上一个文件
:last     切换到最后一个文件
:first    切换到最前一个文件
:next     切换到下两个文件

:args                 可以显示多个编辑文件中当前所编辑的文件

:args 还有另外一个功能就是对打开的多个文件进行重新排序,排列方法很简单 , 在末行模式执行 

:args 5 3 1 2 4 6

这样原先 1 2 3 4 5 6 文件的排列顺序就变成 5 3 1 2 4 6 了

 

在vi中分屏

:split    将屏幕分成多个窗口
ctrl+w + or -    用来调整窗口的大小
ctrl+w    方向键 切换窗口
:close    关闭光标所在的窗口

:edit    在窗口中打开一个文件

:help    查看帮助文档

 

vi中的查找命令

g 替换所有查找到的内容
c 每次替换的时候都手工确认 y 同意 n
不同意仍然继续替换, q 退出替换
i 忽略大小写
I 不忽略大小写
e 不显示出错信息

例:

替换所有的 this 为 that
:% s/this/that/g
将文件中所有 /usr/bin 目录替换成 /home
:% s/\/usr\/bin/\/home/g
在每行开头加入一个单词 linux
:% s/^/linux/g
在每个单词后面加上一个 s
:% s/$*\>/s/g

:suspend 把 vi 暂时放到后台休息 . 用 fg 恢复 (^z)

在vim中定义快捷键

定义格式: map F2-F4 执行命令
使用方法 , 在 vim 中执行
:map <F2> dd 将 F2 功能键定义为 dd
作用
退出末行模式 , 然后到命令模式下试试 F2
注 : 这里定义的快捷键在退出 vim 之后将会失效 .

 

在命令行中进行文件比较的命令为 vimdiff :
$vimdiff file_C file_A

 

在 vi 中进行文件比较的操作如下:
$vi file_A file_C
:diffsplit file_A~:

为了更方便的使用 vim 可以在个人主目录下可以编辑用
户主目录下的 .vimrc 文件 , 如果没有可以手工创建一个 .
格式如下:
set nu // 打开文件的时候显示行号
set ic // 查找字串的时候忽略大小写
set tabstop=2 // 用 tab 键时缩进每次宽度为 2
syntax enable // 打开色彩支持

 
























以上是关于Linux 编辑器之神 --VIM的主要内容,如果未能解决你的问题,请参考以下文章

Linux 编辑器之神 --VIM

Linux | 编辑器之神vim

编辑器之神-vim

编辑器之神-vim

编辑器之神-vim

新手入门之——Ubuntu上的编辑器之神Vi / Vim