【Emacs】
GNU Emacs - GNU Projecthttps://www.gnu.org/software/emacs/注:C=ctrl,M=alt;
把tab自动替换成空格
执行步骤:
- ctrl+x,等一下再按+h
- M-x untabify
全选;
然后,调untabify命令,就把tab全换成空格了。当然,emacs还有一个逆操作命令tabify, 能全部换回去。
【Vim】【gvim】
welcome home : vim onlinehttps://www.vim.org/
gvim 找到或者删除重复行
gvim 是一个非常流行的文本编辑器,你可以使用它来查找重复行。下面是一些步骤:
-
打开要编辑的文件。
-
进入命令模式,输入以下命令:
:sort u
这个命令将排序并删除所有重复的行。
-
如果你想查看哪些行已经被删除,可以输入以下命令:
:sort
这将对文件进行排序,但不会删除重复的行。
-
如果你只想查找重复的行而不删除它们,可以输入以下命令:
:g/^.$/matchadd(‘Search’, '<(\w+)>_s\1’)
这个命令将高亮显示所有的重复行。
在 Vim 中将多行合并为一行
最直观的方法是使用 Vim 可视模式,Shift + v。您只需选择要合并到一行的内容,然后按Shift + j。
每行行首或行尾插入
- 行首添加一个字符串
- :%s/^/xxxx
- xxxx代表要插入的内容
- 例如::%s/^/hello
- 行尾添加一个字符串
- :%s/$/xxxx
- 解释:
- %代表被编辑文件的每一行
- $ 代表一行的结尾处
- ^ 代表一行的开头处
删除每行行尾的空格
- %s/\s+$//g
- %s#\s\+$##g
- 【%s】表示全文替换,【%】表示全文的意思,【#】是分隔符,等同于【/】
快捷键
- gf——跳转到光标所在文件 go to file
- :bf——回退至原文件 back to file
- :bd——delete关闭当前内容并且把这个文件从buffer列表中删除
- ctrl+o——回退至光标上一个位置,也可以回退到上一个文件
- ctrl+i ——再次打开之前跳转的文件
- ctrl+w+k——光标移动至分屏上方窗口
- ctrl+w+j——光标移动至分屏下方窗口
- v模式下移动光标,按y进行复制,按p进行粘贴。
- :sp ./{AAA} ——分屏打开当前目录下的AAA文件
删除查找到的整行【:sort u】
总结格式就是: 范围 /匹配/ 操作
:g/create_via/d
查找替换
:%s/ME8/ME7/g
把空格替换为换行
:%s//\r/g
把换行替换为空格
:%s/\r//g
多个内容匹配并替换
:%s#\(.*\)icc2\(.*\)_.*#\1silicon_ensemble\2.lef#g
\(.*\) —— .*表示匹配任意字符,\( 和 \) 表示转义符()
\(.*\)icc2\(.*\)_.* —— 表示匹配一行中的 icc2 和 _结尾的内容
\1silicon_ensemble\2.lef —— 表示把查找到的icc2替换成silicon_ensemble,查找到的【_和后面内容】替换成.lef
————————————————
:%s/,(\w)/, /\1/gc
注意括号前后和1前的转译符号“ \“
\w表示匹配一个任意文本。\1表示括号内匹配到的内容,还可以有2和3.
这个\1 \2… 都要和正则表达式集合()一起使用,简单的说就是:
\1表示重复正则第一个圆括号内匹配到的内容
\2表示重复正则第二个圆括号内匹配到的内容(跟上面示例一个意思)
————————————————
:346,372s/ =/[i] =/g
每行行首添加#号
:%normal I#(大写的i)
每行行尾添加;分号
:%normal A;
删除每行指定符号后面的内容
:%normal f*d$ —— 删除以 f 开始到行尾的内容,d 代表删除,$ 代表行尾
%表示当前文件的所有行,也可以指定某些行执行命令
:1,10 normal A# ——在1-10行的行尾加入#符号
删除选定内容的整行
:g//d
删除指定多行【间隔的 / 可以用 # 代替】
:35,$g/.*/d
————————————————
1、EDA工具产生的log文件具有换行符
EDA工具在一些情况下产生的log文件中,每行行尾都会有^M字样,此字样可能会造成一些脚本无法使用,如perl,python。因此我们需要将每行句尾的^M删除。^M代表着换行符。
2、Gvim:替换换行符
使用命令:%s/\r//g,在此处位置,\r表示换行符。采用替换的方式删除文件中的^M字符,而不是使用错误命令:%s/\^M//g
在%s/a/b/g命令中,表示a被b替换。g代表替换一行中的所有a字符
————————————————