vim与gvim技巧1Word文档下载推荐.docx
- 文档编号:16617798
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:20
- 大小:28.74KB
vim与gvim技巧1Word文档下载推荐.docx
《vim与gvim技巧1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《vim与gvim技巧1Word文档下载推荐.docx(20页珍藏版)》请在冰豆网上搜索。
补齐(其实windows中也有文件名补齐功能).vi中有许多的字符串补齐命令,非常方便.
c-p(c-n)
在编辑模式中,输入几个字符后再输入此命令则vi开始向上(下)搜
索开头与其匹配的单词并补齐,不断输入此命令则循环查找.此命令
会在所有在这个vim程序中打开的文件中进行匹配.
c-x-l
在编辑模式中,此命令快速补齐整行内容,但是仅在本窗口中出现的
文档中进行匹配.
c-x-f
在编辑模式中,这个命令表示补齐文件名.如输入:
/usr/local/tom后再输入此命令则它会自动匹配出:
/usr/local/tomcat/
abbr
即缩写.这是一个宏操作,可以在编辑模式中用一个缩写代替另一个
字符串.比如编写java文件的常常输入System.out.println,这很
是麻烦,所以应该用缩写来减少敲字.可以这么做:
abbrsprtSystem.out.println
以后在输入sprt后再输入其他非字母符号,它就会自动扩展为System.
out.println
6.替换
替换是vi的强项,因为可以用正规表达式来匹配字符串.以下提供几个例子.
s/aa/bb/g
将光标所在行出现的所有包含aa的字符串中的aa替换为bb
s/\<
aa\>
/bb/g
将光标所在行出现的所有aa替换为bb,仅替换aa这个单词
%s/aa/bb/g
将文档中出现的所有包含aa的字符串中的aa替换为bb
12,23s/aa/bb/g将从12行到23行中出现的所有包含aa的字符串中的aa替换为bb
12,23s/^/#/
将从12行到23行的行首加入#字符
%s=*$==
将所有行尾多余的空格删除
g/^s*$/d
将所有不包含字符(空格也不包含)的空行删除.
7.多文件编辑
在一个vim程序中打开很多文件进行编辑是挺方便的.
sp(:
vsp)文件名
vim将分割出一个横(纵)向窗口,并在该窗口中打开新文件.
从vim6.0开始,文件名可以是一个目录的名称,这样,vim会
把该目录打开并显示文件列表,在文件名上按回车则在本窗口打
开该文件,若输入O则在新窗口中打开该文件,输入?
可以看
到帮助信息.
e文件名
vim将在原窗口中打开新的文件,若旧文件编辑过,会要求保存.
c-w-w
vim分割了好几个窗口怎么办?
输入此命令可以将光标循环定位
到各个窗口之中.
ls
此命令查看本vim程序已经打开了多少个文件,在屏幕的最下方
会显示出如下数据:
1
%a
"
usevim.html"
行162
2
#
xxxxxx.html"
行0
其中:
表示打开的文件序号,这个序号很有用处.
表示文件代号,%表示当前编辑的文件,
#表示上次编辑的文件
表示文件名.
行162
表示光标位置.
b序号(代号)
此命令将指定序号(代号)的文件在本窗口打开,其中的序号(代号)
就是用:
ls命令看到的.
setdiff
此命令用于比较两个文件,可以用
vspfilename
命令打开另一个文件,然后在每个文件窗口中输入此命令,就能看
到效果了.
8.宏替换
vi不仅可以用abbr来替换文字,也可以进行命令的宏定义.有些命令输起来很费劲,
因此我把它们定义到<
F1>
-<
F12>
上,这样就很方便了.这些配置可以预先写到~/.vimrc
(windows下为$VIM/_vimrc)中,写进去的时候不用写前面的冒号.
nmap<
F2>
nohls<
cr>
取消被搜索字串的高亮
F9>
<
C-W>
w
命令模式下转移光标到不同窗口
imap<
ESC>
<
输入模式下运行<
%s=*$==<
删除所有行尾多余的空格.
同上
java中:
(注,这里为什么说java中,因为以下定义对其他文件格式不起作用,下文
会说到如何实现这一点)
F3>
compjavac<
CR>
:
mak-d.%<
此命令用javac编译java文件,它会自动将光标定位到出错点.不过这需要定
义一个javac.vim文件在$VIM/compiler下,在javac.vim里面只有两行字:
setlocalmakeprg=javac
setlocalerrorformat=%A%f:
%l:
\%m,%-Z%p^,%-C%.%#
F4>
compant<
mak<
此命令用ant编译java文件,它会自动将光标定位到出错点.一般来说,安装
vim后已经有了compiler/ant.vim文件,因此这个命令可以直接使用.但是需要
在当前目录下有build.xml文件,当然还必须安装ant才行.
F5>
cl<
此命令用于查看所有的编译错误.
F6>
cc<
此命令用于查看当前的编译错误.
F7>
cn<
此命令用于跳到下一个出错位置.
F8>
cp<
此命令用于跳到上一个出错位置.
F11>
JavaBrowser<
此命令用于在窗口左部分割出一个新窗口,里面的内容是java的资源树,包括
本文件中出现的类,类的成员变量及成员方法,就好像JCreator表现的那样.
在这个窗口中输入?
会看到帮助.嘿嘿,很好用,不过需要ctags支持.
9.TAB
TAB就是制表符,单独拿出来做一节是因为这个东西确实很有用.
输入此命令则光标所在行向左移动一个tab.
>
>
输入此命令则光标所在行向右移动一个tab.
5>
输入此命令则光标后5行向右移动一个tab.
12,24>
此命令将12行到14行的数据都向右移动一个tab.
此命令将12行到14行的数据都向右移动两个tab.
那么如何定义tab的大小呢?
有人愿意使用8个空格位,有人用4个,有的用2个.
有的人希望tab完全用空格代替,也有的人希望tab就是tab.没关系,vim能
帮助你.以下的设置一般也都先写入配置文件中,免得老敲.
setshiftwidth=4
设置自动缩进4个空格,当然要设自动缩进先.
setsts=4
即设置softtabstop为4.输入tab后就跳了4格.
settabstop=4
实际的tab即为4个空格,而不是缺省的8个.
setexpandtab
在输入tab后,vim用恰当的空格来填充这个tab.
10.autocmd
这个命令十分的强大,可以用这个命令实现对不同的文件格式应用不同的配置;
可以
在新建文件时自动添加上版权声明等等.这些命令一般定义在~/.vimrc这样的配置文件
里面.由于他很强大,所以我不能给出很具体的说明,只能举几个例子,详细的请看帮助.
autocmd!
删除所有之前的自动命令.
autocmdFileType
java
source~/.vim/files/java.vim
source~/.vim/files/jcommenter.vim
以上两条命令让我在打开java文件时才应用后面提到的两个配置文件.
autocmdBufNewFile
*.java
0r~/.vim/files/skeletons/java.skel
以上这条命令让我在新建java文件时自动加入java.skel文件的内容.
normalgnp
以上这条命令让我在新建java文件时自动运行gnp命令,这个命令进行一些特殊化
处理,比如将新java文件中的__date__替换成今天的日期什么的.
11.常用脚本
在你可以发现很多脚本(script),这些脚本常常有让你意想不到的作用.
我常用的有:
jcommenter.vim
自动加入javadoc风格的注释.
JBrowser.vim
类资源浏览.C,C++等可以用Tlist
还有许多有用的,比如checkstyle.vim可以检验你的编程风格,jad.vim可以直接
反编译.class文件等等.
12.常用配置
在~/.vimrc配置文件中你常常需要一些个性化配置.比如上面写的一些宏定义,一些
autocmd定义等等.比如:
setsuffixes=.bak,~,.o,.h,.info,.swp,.aux,.bbl,.blg,.dvi,.lof,.log,.lot,.ps,.toc
这样在vim中打开文件时,按tab键补齐文件名时它会忽略上述文件.
setnu
显示行号
setai
设置自动缩进
mapYy$
让Y和D一样,要不然Y的本意和yy一样.
13.其他
还有许多有意思的命令,记录在这里免得忘记.
.
重复上次编辑命令.
g/^/exec"
s/^/"
.strpart(line("
."
)."
0,4)
在行首插入行号
runtime!
syntax/2html.vim
转换txt成html,会按照你的
颜色配置来转
VI高级命令集锦及VIM应用实例
作者:
转自:
http:
//linux-
本文已被阅读:
5次
*****************************************************************************
本文由正泰linuxhttp:
//linux-搜集,整理,如需转载,请注明出处!
本站有大量的linux电子教程,软件,技术文档,欢迎大家访问!
站长阿泰qq:
253222170
******************************************************************************
javalee写到:
1.交换两个字符位置
xp
2.上下两行调换
ddp
3.把文件内容反转
g/^/m0/(未通过)
4.上下两行合并
J
5.删除所有行
dG
6.从当前位置删除到行尾
d$
7.从当前位置复制到行尾
y$如果要粘贴到其他地方p就可以了
由于vi是建立在EX上的所以当键入:
时就来到了EX命令状态
8.
abstringstrings
例如"
abusaUnitedStatesofAmerica"
当你在文见里插入usa时
UnitedStatesofAmerica就蹦出来了
9.
mapkeysnew_seq
定义你当前键盘命令
10.
set[all]
viorex的编辑状态
如显示每行:
setnu
11.
在命令状态下,nyy表示拷贝从光标行起的下n行内容,p表示paste,可刚复制的内容粘贴在光标处的
下面。
12.
单个字符替换用r,覆盖多个字符用R,用多个字符替换一个字符用s,整行替换用S
13.
%s/old_word/new_word/g
这个指令是于在整个文件中替换特定字符串
14.光标控制
k:
上移nk上移n行
j:
下移nj下移n行
将光标移到第n行,按下mk
将光标移到第m行,按下"
ay'
k
即将第n到m的行存到a寄存器,以此类推,b,c........寄存器等
这样就可以将你常用的需要复用的内容粘贴到不同的寄存器中以备用
想粘贴到某处,直接将光标移到某地,按下'
ap即可,以此类推,b,c........寄存器等
在当前屏幕中
H跳到第一行
M跳到中间一行
L跳到最后一行
15.
表8-2删除命令
删除命令操作
dl删除当前字符(与x命令功能相同)
d0删除到某一行的开始位置
d^删除到某一行的第一个字符位置(不包括空格或TAB字符)
dw删除到某个单词的结尾位置
d3w删除到第三个单词的结尾位置
db删除到某个单词的开始位置
dW删除到某个以空格作为分隔符的单词的结尾位置
dB删除到某个以空格作为分隔符的单词的开始位置
d7B删除到前面7个以空格作为分隔符的单词的开始位置
d)删除到某个语句的结尾位置
d4)删除到第四个语句的结尾位置
d(删除到某个语句的开始位置
d}删除到某个段落的结尾位置
d{删除到某个段落的开始位置
d7{删除到当前段落起始位置之前的第7个段落位置
dd删除当前行
d/text删除从文本中出现"
text"
中所指定字样的位置,一直向前直到下一个该字样所出现的
位置(但不包括该字样)之间的内容
dfc删除从文本中出现字符"
c"
的位置,一直向前直到下一个该字符所出现的位置(包括
该字符)之间的内容
dtc删除当前行直到下一个字符"
c"
所出现位置之间的内容
D删除到某一行的结尾
d$删除到某一行的结尾
5dd删除从当前行所开始的5行内容
dL删除直到屏幕上最后一行的内容
dH删除直到屏幕上第一行的内容
dG删除直到工作缓存区结尾的内容
d1G删除直到工作缓存区开始的内容
修改命令操作
cl更改当前字符
cw修改到某个单词的结尾位置
c3w修改到第三个单词的结尾位置
cb修改到某个单词的开始位置
cW修改到某个以空格作为分隔符的单词的结尾位置
cB修改到某个以空格作为分隔符的单词的开始位置
c7B修改到前面7个以空格作为分隔符的单词的开始位置
c0修改到某行的结尾位置
c)修改到某个语句的结尾位置
c4)修改到第四个语句的结尾位置
c(修改到某个语句的开始位置
c}修改到某个段落的结尾位置
c{修改到某个段落的开始位置
c7{修改到当前段落起始位置之前的第7个段落位置
ctc修改当前行直到下一个字符c所出现位置之间的内容
C修改到某一行的结尾
cc修改当前行
5cc修改从当前行所开始的5行内容
.重复上一次修改!
表8-4替换命令
替换命令操作
G的开头处
移至当前行上一次所在位置(在光标移动之后)――一个双引号
'
'
移至当前行上第一次所在位置的行的开头处(在光标移动之后)――两个单引号
19.
同时vi多个文件时,CTRL-SHIFT-6回到上一个文件,在本次vi的文件和上次vi的文件之间切换。
但是我发现一个BUG:
在用CTRL-SHIFT-6切换到上一个文件后,用:
args查看多文件vi状态时,
屏幕底部仍然显示目前vi的是刚才的文件。
(在HP-UX,Solaris,AIX上通过)
也可以使用:
e#
进行切换
20.
sco下VI要在文本前同样的字符加用
%s/^/要加的内容/g要在文本后同样的字符加
%s/$/要加的内容/g
21.
如何去掉文本中的^M硬回车?
不必用binary传回去再ascii传回来的方式,用shell或者unix语句实现。
catfilename|tr-d'
\015'
newfile
不同的unix系统还存在一些其他不同的命令,如:
doscp
sed也可以实现这个功能.
dos2unixfilenamefilename2
反之
unix2dosfilenamefilename2
在vi中用:
$s/^M//g
^是crtl-Vcrtl-M
22.如何在"
unix命令行"
下将一个文件的某字符串用另一个串换掉
sed'
s/string1/string2/gp'
file1>
file2
23.将/etc/hosts下所有的地址都ping2次
1#/usr/bin/sh
2#grad/etc/hostsandpingeachaddress
3cat/etc/hosts|grep-v'
^#'
|whilereadLINE
4do
5ADDR=`awk'
{print$1}'
`
6forMACHINEin$ADDR
7do
8ping$MACHINE-n2
9done
10done
24
到前一个函数[[,到下一个函数]],括号配对%,交叉参考Ctrl_](事先用ctags做索引),回来用e#`编辑一个函数:
vi-t函数名,编辑加密文本vi-X
25
在插入模式下ctrl+p,自动补齐剩余单词,以赖规则:
ta
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vim gvim 技巧