关于linux vim命令

来源:互联网 发布:福田电动三轮车淘宝 编辑:程序博客网 时间:2024/05/21 13:59
vim one.c two.c three.c 通过VIM同时编辑三个文件转自:http://www.pc6.com/infoview/Article_50413_2.html
----------------------------------------------------------------------------------------------------
1. 使用“:help”查看帮助信息
----------------------------------------------------------------------------------------------------

2.命令

编辑命令:

a 添加字符

A 从行尾添加字符

i 在当前位置插入

I 从行第一个字符开始插入

o 在光标的下面插入新行

O 在光标的上面插入新行

x(效仿打字机) 删除一个字符

d(delete) 删除

dd 删除一整行

#dd 向下删除n行

J 删除回行符(合并两行) 合行后中间加一个空格

gJ 删除回行符,合行后首尾空格不去除

u(undo) 撤销上一步操作

U(undo) 撤销一整行操作(此操作算为一次操作,可用u撤销)

Ctrl+r(redo) 从做撤销的操作

r 替换光标下的字符,加上计数器表示连续替换多个字符为一个字符

R 替换整行字符

. 重复上一次更改

p 粘贴默认寄存器中的内容,可用计数器

y 复制选中内容到默认寄存器

yw将光标所在之处到字尾的字符复制到缓冲区中。

#yw复制#个字到缓冲区
yy复制光标所在行到缓冲区。

#yy 拷贝光标所在行以后的n行      例如,「6yy」表示拷贝从光标所在的该行"往下数"6行文字。

~ 切换当前字母大小写

g~ 切换字母大小写

gU 将字母切换成大写

gu 将字母切换成小写

g~~ g~g~ 切换整行字母大小写

gUU gUgU

guu gugu

> 在visual模式下将选中的内容右移,前面填充空格

< 在visual模式下将选中的内容左移,前面的空格删除

:{range}read patch 在当前行的下面插入文件patch中的内容,如果指定了range 则插入到range中最后的一行下面,这里的range可以用特殊的行号0

:{range}read !{command} 将命令的输出插入到文件中

----------------------------------------------------------------------------------------------------
3. 位移命令:

位移命令:

在普通模式下 hjkl 代表 左下上右

w 往后跳一个单词,光标停在第一个字母上

b 往前挑一个单词,光标停在第一个字母上

e 往后跳一个单词,光标停在最后一个字母上

ge 往前跳一个单词,光标停在最后一个字母上

$ 跳到行尾,可用计数器向下跳多行

0 跳到行首算上空白

^ 跳到行尾不算上空白,加上计数器没有效果

f 向后查找字符,用计数器表示查找到第几个匹配字符

F 向前查找字符,用计数器表示查找到第几个匹配字符

t

T

; 跳到下一个匹配的字符

, 跳到上一个匹配的字符

% 匹配括号 前面加数字表示跳转到文件的百分比

G 前面加数字跳转到明确的行,不加数字表示跳转到文件的最后一行

gg 跳到文件的第一行

H(Home) 跳到屏幕的最上方一行

M(Middle) 跳到屏幕的中间一行

L(Last) 跳到屏幕的最下面一行

CTRL-U(up) 将屏幕向上滚动半个屏幕的文本

CTRL-D(down) 将屏幕向下滚动半个屏幕的文本

CTRL-E 将文字向上提一行

CTRL-Y 将文字向下拉一行

CTRL-F 将屏幕向下滚动一屏

CTRL-B 将屏幕向上滚动一屏

CTRL-] 跳转到标签内部

CTRL-T 跳转到父标签

CTRL-O 跳转到更老的jump点

CTRL-I 跳转到更新的jump点,与<TAB>功能相同

----------------------------------------------------------------------------------------------------
4. 多文件

:next 编辑下一个文件 可以用计数器 :2next

:wnext 保存并编辑下一个文件

:args 显示打开VIM时编辑的文件列表

:previous 编辑上一个文件 可以用计数器

:wprevious 保存并编辑上一个文件

:first 编辑第一个文件(没有w版本)

:last 编辑最后一个文件(没有w版本)

:args *.txt 从新编辑文件列表,未保存文件将提示,可以用通配符,可以用强制符

----------------------------------------------------------------------------------------------------

5. 文件对比

------------------------文件对比--------------------------

vimdiff a.c b.c 对比两个文件的差别

zc 关闭折叠

zo 打开折叠

-----------------------tab栏------------------------------

gT 反向的gT

:tab split 通过一个新tab打开当前文件

:tab help

:tabonly 除了当前的tab其它的都关闭

-----------------------GUI选项----------------------------

:set guioptions 设置GUI的选项 T代表toolsbar l代表左滚动条

:behave xterm 把鼠标设置成Xterm模式

:behave mswin 把鼠标设置成mswin模式

'mouse' in which mode the mouse is used by Vim

'mousemodel' what effect a mouse click has

'mousetime' time between clicks for a double-click

'mousehide' hide the mouse while typing

'selectmode' whether the mouse starts Visual or Select mode

:set selectmode+=mouse 通过鼠标选择文本进入选择模式,选择模式下输入字符会使用新字符替换之前选中的字符。

-------------------------其它的---------------------------

:{range}write>>logfile 将当前内容追加到指定文件中

:{range}write 保存,后面加路径为另存为

:{range}write {command} 将当前文件保存到command中表示把当前文件作为被调用命令的参数 如 :write !wc 返回当前文件的字符数

:w :write的缩写

:edit(e) 打开,编辑

ZZ 保存并退出

zz 将光标所在行移至窗口中间

:q 退出

vim -R file 用只读模式打开file unix中view file等效,通过w!可以强制存盘

vim -M file 用只读模式打开file 通过 :set modifiable :set write 可以去除这种保护

vim -r file 用swp文件恢复当前打开文件,恢复一个还没有命名保存的文件时用 vim -r "" ,其中file可以是被恢复的原文件,也可以是用于恢复的交换文件(VIM会根据交换文件自动找到原文件)

vim -r 列出当前可用的所有交换文件,然后选择用哪个恢复

:recover 用交换文件恢复当前文件

:set shortmess 选择关闭信息提示功能

:saveas move.s 将当前文件另存为move.s

:file move.c 将当前文件重命名为move.c

{command}! 强制符

!{motion}{program} 执行外部程序 输入完!{motion}部分后命令会自动跳转到命令行部分,会通过motion部分的内用调用program然后用返回结果覆盖调motion选择的部分 例如:!5Gsort<Enter>

!! 在当前行执行程序 相当于 :.!

:jumps 列出跳转记录

:marks 列出所有标签

:reg 查看寄存器内的内容

<ESC> 取消命令

CTRL-G 显示行数等信息

m 创建标签,用a-z 是局域标签,A-Z是全局标签

v 进入visual模式

V 进入visual模式,以行为对象(利用这种方式选中光标所在行)

CTRL-V 进入visual模式,以矩形为对象

o 在以矩形为单位的visual模式时 光标对角切换

O 在以矩形为单位的visual模式时 光标平角切换

"{a-Z,+,*等} 选择寄存器复制\剪切\粘贴 大写字母表示追加

'" 跳到上次退出此文件时的位置

'. 跳到最后编辑此文件的位置

:TOhtml 把当前文件转化成HTML格式

:source $VIMRUNTIME/syntax/2html.vim 把2html.vim转化成HTML显示在屏幕上

g Ctrl-G 统计字数,可以在visual模式下选择要统计的字符

----------------------------------------------------------------------------------------------------

6.多窗口

-------------------多窗口----------------------------------

vim -o one.txt two.txt 水平多个窗口打开多个文件

vim -O one.txt two.txt 垂直多个窗口打开多个文件

:all 为列表中的文件各开一个窗口(可vertical)

:split 上下分割当前窗口,在上面打开新窗口

:vsplit 左右分割窗体,在左边打开新窗口

:split two.c 在新窗口编辑文件

:3split alpha.c 设定新窗口的高度

:new 创建新窗口创建新文件在当前窗口上面

:vnew 创建新窗口创建新文件在当前窗口左面

:vertical new 等同于vnew

:vertical 加在任何分割窗口的命令前面,使其垂直分割

CTRL-W w 窗口切换

CTRL-W CTRL-W 和CTRL+W w一样

:close 关闭窗口

:only 关闭其他所有窗口

CTRL-W + 增大窗口,可以用计数器

CTRL-W - 减小窗口,可以用计数器

15CTRL-W _ 指定当前窗口高度为15

CTRL-W _ 最大化当前窗口

CTRL-W h move to the window on the left

CTRL-W j move to the window below

CTRL-W k move to the window above

CTRL-W l move to the window on the right

CTRL-W t move to the TOP window

CTRL-W b move to the BOTTOM window

CTRL-W H move window to the far left

CTRL-W J move window to the bottom

CTRL-W K move window to the top

CTRL-W L move window to the far right

:qall 退出所有窗口

:wall 存储所有文件

:wqall 存储并退出所有文件

:qall! 放弃存储退出所有文件

0 0
原创粉丝点击