Home >Database >Mysql Tutorial >VIM编辑命令的技巧

VIM编辑命令的技巧

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 15:47:281076browse

J2EE开发各类资源下载清单, 史上最全IT资源,个人收藏总结! Vim替换与批量修改 1 简单替换表达式 :%s/four/4/g “%” 范围前缀表示在所有行中执行替换。 最后的 “g” 标记表示替换行中的所有匹配点。 如果仅仅对当前行进行操作,那么只要去掉%即可 如果你

J2EE开发各类资源下载清单,  史上最全IT资源,个人收藏总结!


Vim替换与批量修改

 1 简单替换表达式
:%s/four/4/g
“%” 范围前缀表示在所有行中执行替换。

最后的 “g” 标记表示替换行中的所有匹配点。

如果仅仅对当前行进行操作,那么只要去掉%即可

如果你有一个象 “thirtyfour” 这样的单词,上面的命令会出错。这种情况下,这个单词会被替换成”thirty4″。要解决这个问题,用 “来指定匹配单词开头:
        :%s/ 显然,这样在处理 “fourty” 的时候还是会出错。用 “>” 来解决这个问题:
        :%s//4/g
如果你在编码,你可能只想替换注释中的 “four”,而保留代码中的。由于这很难指定,可以在替换命令中加一个 “c” 标记,这样,Vim 会在每次替换前提示你:
        :%s//4/gc

单词精确匹配替换

sed -e "s/\/new/g"  file

VIM编辑命令的技巧


修改目录下的全部.java文件

find .  *.java   -type f | xargs sed -i "s/gamecenter/appcenter/g"


修改目录下的全部文件

find .     -type f | xargs sed -i "s/gamecenter/appcenter/g"


grep精确查找单词

grep -w word file

2 删除多余的空格
要删除这些每行后面多余的空格,可以执行如下命令:
        :%s/s+$//
命令前面指明范围是 “%”,所以这会作用于整个文件。”substitute” 命令的匹配模式是
“s+$”。这表示行末($)前的一个或者多个(+)空格(s)。替换命令的 “to” 部分是空的:”//”。这样就会删除那些匹配的空白字符。
将多个空格替换成一个字符":"

:%s/\s\{2,}/:/g


3,匹配重复性模式
星号项 “*” 规定在它前面的项可以重复任意次。因此:
        /a*
匹配 “a”,”aa”,”aaa”,等等。但也匹配 “” (空字串),因为零次也包含在内。

星号 “*” 仅仅应用于那个紧邻在它前面的项。因此 “ab*” 匹配 “a”,”ab”,”abb”,”abbb”,等等。

如要多次重复整个字符串,那么该字符串必须被组成一个项。组成一项的方法就是在它前面加 “(”,后面加 “)”。因此这个命令:
        /(ab)*
匹配: “ab”,”abab”,”ababab”,等等。而且也匹配 “”。
要避免匹配空字串,使用 “+”。这表示前面一项可以被匹配一次或多次。
       /ab+
匹配 “ab”,”abb”,”abbb”,等等。它不匹配 后面没有跟随 “b” 的 “a”。
要匹配一个可选项,用 “=”。 例如:
        /folders=
匹配 “folder” 和 “folders”。

4 指定重复次数
要匹配某一项的特定次数重复,使用 “{n,m}” 这样的形式。其中 “n” 和 “m” 都是数字。在它前面的那个项将被重复 “n” 到 “m” 次 (|inclusive| 包含 “n” 和 “m”)。例如:
        /ab{3,5}
匹配 “abbb”,”abbbb” 以及 “abbbbb”。
   当 “n” 省略时,被默认为零。当 “m” 省略时,被默认为无限大。当 “,m” 省略时,就表示重复正好 “n” 次。例如:
        模式           匹配次数 
        {,4}            0,1,2,3 或 4
        {3,}            3,4,5,等等
        {0,1}           0 或 1,同 =
        {0,}            0 或 更多,同 *
        {1,}            1 或 更多,同 +
        {3}             3

5 多选一匹配
在一个查找模式中,”或” 运算符是 “|”。例如:
        /foo|bar
这个命令匹配了 “foo” 或 “bar”。更多的抉择可以连在后面:
        /one|two|three
匹配 “one”,”two” 或 “three”。
   如要匹配其多次重复,那么整个抉择结构须置于 “(” 和 “)” 之间:
        /(foo|bar)+
这个命令匹配 “foo”,”foobar”,”foofoo”,”barfoobar”,等等。
   再举个例子:
        /end(if|while|for)
这个命令匹配 “endif”,”endwhile” 和 “endfor”。

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

sed替换命令

sed -e "s/bai/google/g" tmp

例如:bai修改为google

cat tmp
baidu
baimai
dubai
baibai
abaia

sed -e "s/bai/google/g" tmp
googledu
googlemai
dugoogle
googlegoogle
agooglea

================================================================================

Vim格式化与注释


VIM格式化代码:
   格式化全文指令  gg=G
   格式化当前行指令  ==
      格式化当前光标接下来的8行  8==
      格式化选定的行  v 选中需要格式化的代码段 =

备注:
  gg   ——  到达文件最开始
  =  ——  要求缩进
  G     ——  直到文件尾

注释代码:(这个原理上就是使用VIM的正则替换)
  以C++和Python为例。

  注释连续行:

  指令格式  :起始行,终止行s/要替换的字符/替换为字符/g

  如,
      C++源文件中注释掉10~20行,指令为:
  :10,20s/^/////g

  Python源文件中注释掉10~20行,指令为:
  :10,20s/^/#/g

  取消连续行注释:
  指令格式同上。只是要替换字符与替换为字符要互换:

  如,
      取消C++源文件中的10~20行的注释,指令为:
  :10,20s/^//////g

  取消Python源文件中的10~20行的注释,指令为:
  :10,20s/^#//g

 

================================================================================

VIM语法高亮及自动缩进

 

1 、配置文件的位置 
在目录 /etc/ 下面,有个名为vimrc 的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“. vimrc ”。例如,/root目录下,通常已经存在一个. vimrc 文件。
如果不知道配置文件及脚本的位置,可以在vim中使用命令 :scriptnames ,将显示如下路径
/etc/vimrc
/usr/share/vim/vim72/syntax/syntax.vim
/usr/share/vim/vim72/syntax/synload.vim
/usr/share/vim/vim72/syntax/syncolor.vim
/usr/share/vim/vim72/filetype.vim
/usr/share/vim/vim72/ftplugin.vim
/home/kdj/.vimrc
...
如果不知道vim配置文件的搜索位置,请输入 :version ,将显示
系统vimrc文件:"/etc/vimrc"
用户vimrc文件:"$HOME/.vimrc"
用户exrc文件:"$HOME/.exrc"
$VIM预设值:"/usr/share/vim"
 
 
       2 、设置语法高亮显示 
1) 打开vimrc,添加以下语句来使得语法高亮显示:
syntax on 
2) 如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:
export TERM=xterm-color 
       
       3 、设置 Windows 风格的 C/C++ 自动缩进(添加以下 set 语句到 vimrc 中) 
              1)设置(软)制表符宽度为4:
                            set tabstop=4 
                            set softtabstop=4 
              2)设置缩进的空格数为4
                          set shiftwidth=4 
              3)设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置: 
set autoindent 
              4)设置 使用 C/C++ 语言的自动缩进方式: 
                          set cindent 
              5)设置C/C++语言的具体缩进方式(以我的windows风格为例):
                            set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
              6)如果想在左侧显示文本的行号,可以用以下语句:
                          set nu 
                          set roler 设置光标显示

            7)最后,如果没有下列语句,就加上吧:
if &term=="xterm" 
set t_Co=8 
             set t_Sb=^[[4%dm 
set t_Sf=^[[3%dm 
endif

 

================================================================================

 Vim相关介绍

VIM帮助手册pdf
http://blogimg.chinaunix.net/blog/upfile2/071116153236.pdf

VIM在线手册
http://vcd.gro.clinux.org/doc/usr_toc.html
http://vcd.gro.clinux.org/doc/help.html

手把手教你把Vim改装成一个IDE编程环境(图文)
http://blog.csdn.net/wooin/archive/2007/12/30/2004470.aspx


Vim颜色设置
http://zywangyan54.blog.163.com/blog/static/31810358200752993227703/

Vim程序调试
http://www.wangchao.net.cn/bbsdetail_69434.html


Vim使用经验
http://blog.csdn.net/camry_camry/archive/2004/09/23/114188.aspx


Vim自动给脚本加注释
http://blog.chinaunix.net/u/6542/showart.php?id=357716


VIM 插件大全 及 不错介绍
http://hi.baidu.com/00%C6%F3%B6%EC/blog/item/fd456c03a2d40f8bd53f7c29.html


Vim即学即用
http://blog.linuxpk.com/3973/viewspace-2644

 

 Vim的分屏功能(CSDN)

vim常用命令总结(CSDN)

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn