Heim > Fragen und Antworten > Hauptteil
Wie sollten wir im Befehlsmodus von vim häufig verwendete komplexe Befehle vereinfachen?
Ich verwende oft einen Ersetzungsbefehl: 0,$s/t/ /g, um die Tabulatortaste durch 4 Leerzeichen zu ersetzen.Für die neu erstellten Dateien habe ich die Konfiguration bereits in der Konfigurationsdatei vorgenommen. Es ist nur so, dass die Tabulatortaste oft in den Dateien anderer Leute vorkommt.
Ich muss es jedes Mal ersetzen.
Meine Frage
Zunächst möchte ich den Antwortenden unten danken. Aufgrund ihrer Erklärungen und der Lektüre der Hilfedokumente habe ich endlich eine Methode gefunden, die ich für sinnvoll halte
:help ret
überprüfen Sie das Dokument. Was ich hier sagen möchte, ist, dass Sie beim Ersetzen darauf achten müssen, die \t
-Zeichen in der Zeichenfolge im Programm zu ersetzen :help ret
查看文档, 这里我想说的是, 替换的时候, 小心替换程序中字符串中的\t
:help auto
if has("autocmd")
autocmd BufRead *.cpp,*.h :ret
Abschließend noch einmal vielen Dank an die Antwortenden unten.
过去多啦不再A梦2017-05-16 16:36:21
先来抛砖引玉:
既然你已经有了操作,那么为这个操作设置一个快捷键是很简单的,比如这样将这个快捷键设置为 normal mode 下的 <Leader>ts
-- nnoremap <Leader>ts :0,$s/t/ /g<CR>
, 大概是 希望快捷键映射的模式 快捷键 操作
。
第二个可以使用 autocmd BufRead * :%ret! 4<CR>
, 将整个文件的 tab 转换成 space,每个 tab 用 4 个 space 替代. ret 指的是 replace tab, 更多内容可以 :help ret
, :help autocmd
, :help event
, :help BufRead
.
ringa_lee2017-05-16 16:36:21
vim 有一个命令叫做 :retab
(我有可能记错了,但应该差不离),可以转换 tab 为 space,你可以查阅一下相关的 help,经常使用的话可以把它绑定一个按键。