Vim 使用

    xiaoxiao2021-04-17  35

    (十),Vim不能保存只读文件的问题 使用命令 :w !sudo tee %

    6、vi打开多文件

    vi a b c :n 跳至下一个文件,也可以直接指定要跳的文件,如:n c,可以直接跳到c文件

    :e# 回到刚才编辑的文件

    1、打开多个窗口 打开多个窗口的命令以下几个: 横向切割窗口 :new+窗口名(保存后就是文件名)  :split+窗口名,也可以简写为:sp+窗口名 纵向切割窗口名 :vsplit+窗口名,也可以简写为:vsp+窗口名 2、关闭多窗口 可以用:q!,也可以使用:close,

    7yy

    7dd

    d$

    Shift+g

    x    删除光标下的字符 ("dl" 的缩写) X    删除光标前的字符 ("dh" 的缩写) D    从当前位置删除到行尾 ("d$" 的缩写) dw    从当前位置删除到下一个单词开头 db    从当前位置删除到前一个单词的开头 diw    删除光标上的单词 (不包括空白字符) daw    删除光标上的单词 (包括空白字符) dG    删除到文件末 dgg    删除到文件首 "dl"    删除字符 (缩写: "x")            |dl| "diw"    删除内含单词                *diw* "daw"    删除一个单词                *daw* "diW"    删除内含字串 (见 |WORD|)        *diW* "daW"    删除一个字串 (见 |WORD|)        *daW* "dd"    删除一行                |dd| "dis"    删除内含句子                *dis* "das"    删除一个句子                *das* "dib"    删除内含 '(' ')' 块            *dib* "dab"    删除一个 '(' ')' 块            *dab* "dip"    删除内含段落                *dip* "dap"    删除一个段落                *dap* "diB"    删除内含 '{ ' ' }' 大块            *diB* "daB"    删除一个 '{ ' ' }' 大块            *daB

     因为Vim使用主题需要256色支持

    开启Putty终端256色的支持要做2件事情:

    1. Putty客户端工具里面要开启对Xterm-256colors的支持

    Putty设置: Putty->Change Settings...->Window->Colors->(勾选)Allow terminal to use xterm 256-colors mode->Apply

    2. CentOS(Linux)上开启Xterm-256colors。

    编辑 Vimrc 文件,添加

    Set t_Co=256

    有时候,我们在 Linux 中打开曾在 Win 中编辑过的文件时,会在行尾看到 ^M 字符。虽然,这并不影响什么, 但心里面还是有点不痛快。如果想要删除这些 ^M 字符,可以使用 Vim 来轻松搞定它。在 Vim 的命令模式中输入  :%s/^M$//g  后,回车即会自动删除该文件中的所有 ^M 字符。      那么,这句命令到底是什么意思呢?% 指匹配整个文件,s 是置换的意思,^M 注意要用 Ctrl + V Ctrl + M 来输入, M 后面的 $ 代表匹配行尾的内容,最后的 g 则表示每行中匹配到的内容都要置换。     理解了命令的含义,就好变通使用了,比如说,要将某个文件中的 Vim 全部替换成 VIM,则可以使用这样的命令: :%s/Vim/VIM/g

    http://tanqisen.github.io/blog/2013/01/13/vim-search-replace-regex/

    简单替换表达式

    :[range]s/from/to/[flags]

    range:搜索范围,如果没有指定范围,则作用于但前行。

    :1,10s/from/to/ 表示在第1到第10行(包含第1,第10行)之间搜索替换;:10s/from/to/ 表示只在第10行搜索替换;:%s/from/to/ 表示在所有行中搜索替换;1,$s/from/to/ 同上。

    flags 有如下四个选项:

    c confirm,每次替换前询问;e error, 不显示错误;g globle,不询问,整行替换。如果不加g选项,则只替换每行的第一个匹配到的字符串;i ignore,忽略大小写。

    这些选项可以合并使用,如cgi表示不区分大小写,整行替换,替换前询问。

    正则表达式

    元字符

    元字符

    元字符 说明 . 匹配任意字符 [abc] 匹配方括号中的任意一个字符,可用-表示字符范围。如[a-z0-9]匹配小写字母和数字 [^abc] 匹配除方括号中字符之外的任意字符 \d 匹配阿拉伯数字,等同于[0-9] \D 匹配阿拉伯数字之外的任意字符,等同于[^0-9] \x 匹配十六进制数字,等同于[0-9A-Fa-f] \X 匹配十六进制数字之外的任意字符,等同于[^0-9A-Fa-f] \l 匹配[a-z] \L 匹配[^a-z] \u 匹配[A-Z] \U 匹配[^A-Z] \w 匹配单词字母,等同于[0-9A-Za-z_] \W 匹配单词字母之外的任意字符,等同于[^0-9A-Za-z_] \t 匹配<TAB>字符 \s 匹配空白字符,等同于[\t] \S 匹配非空白字符,等同于[^\t]

     

    一些普通字符需转意

    元字符 说明 \* 匹配* 字符 . 匹配. 字符 \/ 匹配 / 字符 \ 匹配 \ 字符 \[ 匹配 [ 字符 \] 匹配 ] 字符

     

    表示数量的元字符

    元字符 说明 * 匹配0-任意个 \+ 匹配1-任意个 \? 匹配0-1个 \{n,m} 匹配n-m个 \{n} 匹配n个 \{n,} 匹配n-任意个 \{,m} 匹配0-m个

     

    表示位置的元字符

    元字符 说明 $ 匹配行尾 ^ 匹配行首 \< 匹配单词词首 \> 匹配单词词尾

     

    替换变量

    在正则式中以\(和\)括起来的正则表达式,在后面使用的时候可以用\1、\2等变量来访问\(和\)中的内容。

    例子

    删除行尾空格::%s/\s+$//g删除行首多余空格:%s/^\s*// 或者 %s/^ *//删除沒有內容的空行:%s/^$// 或者 g/^$/d删除包含有空格组成的空行:%s/^\s*$// 或者 g/^\s*$/d删除以空格或TAB开头到结尾的空行:%s/^[ |\t]*$// 或者 g/^[ |\t]*$/d

    把文中的所有字符串“abc……xyz”替换为“xyz……abc”可以有下列写法

    :%s/abc\(.*\)xyz/xyz\1abc/g :%s/\(abc\)\(.*\)\(xyz\)/\3\2\1/g

    sed:指定文件进行替换

    sed -i "s/from/to/g" 文件名

    转载请注明原文地址: https://ju.6miu.com/read-673973.html

    最新回复(0)