关于linux vim命令
2014-07-14 18:25
162 查看
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! 放弃存储退出所有文件
----------------------------------------------------------------------------------------------------
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! 放弃存储退出所有文件
相关文章推荐
- 关于linux vim命令——多窗口
- linux 下vim中关于删除某段,某行,或者全部删除的命令
- 关于linux vim命令 总结
- 关于linux中vim常用的一些命令
- linux 下vim中关于删除某段,某行,或者全部删除的命令
- linux 下vim中关于删除某段,某行,或者全部删除的命令
- linux 下vim中关于删除某段,某行,或全部删除的命令
- linux命令实践-ln:关于链接文件
- 关于Linux系统上 SU命令的几点安全建议
- 关于linux系统中命令的使用详解
- 【linux】VIM中的几个命令
- 关于linux系统中命令的使用详解(1)
- 关于linux系统中命令的使用详解(2)
- Linux操作系统下关于Top命令的参数详解
- 关于Linux Grep命令使用的详细介绍
- 关于Linux top 命令
- Linux中关于关机和重启的命令
- 关于Linux系统上 SU命令的几点安全建议
- 关于在linux中运行sleep()的命令
- 关于linux的RPM命令