我一直在Vim中学习新的命令,但我相信每个人都偶尔会学习一些新东西。我最近才知道:
Zz, zt, zb -位置光标在中间,顶部或底部的屏幕
还有什么其他有用或优雅的命令是你希望很久以前就学会的?
我一直在Vim中学习新的命令,但我相信每个人都偶尔会学习一些新东西。我最近才知道:
Zz, zt, zb -位置光标在中间,顶部或底部的屏幕
还有什么其他有用或优雅的命令是你希望很久以前就学会的?
当前回答
cw
更改单词-删除光标下的单词,并将您置于插入模式下键入一个新的单词。当然,这也适用于其他移动键,所以你可以做c$之类的事情来改变到行尾。
F +字符
查找当前行上字符的下一个出现位置。因此,您可以使用vft来选择当前行上下一个“t”之前的所有文本。这是另一个移动键,所以它也适用于其他命令。
其他回答
我为我的一个朋友创建了我最常用的命令的参考:
select v
select row(s) SHIFT + v
select blocks (columns) CTRL + v
indent selected text >
unindent selected text <
list buffers :ls
open buffer :bN (N = buffer number)
print :hardcopy
open a file :e /path/to/file.txt
:e C:\Path\To\File.txt
sort selected rows :sort
search for word under cursor *
open file under cursor gf
(absolute path or relative)
format selected code =
select contents of entire file ggVG
convert selected text to uppercase U
convert selected text to lowercase u
invert case of selected text ~
convert tabs to spaces :retab
start recording a macro qX (X = key to assign macro to)
stop recording a macro q
playback macro @X (X = key macro was assigned to)
replay previously played macro * @@
auto-complete a word you are typing ** CTRL + n
bookmark current place in file mX (X = key to assign bookmark to)
jump to bookmark `X (X = key bookmark was assigned to
` = back tick/tilde key)
show all bookmarks :marks
delete a bookmark :delm X (X = key bookmark to delete)
delete all bookmarks :delm!
split screen horizontally :split
split screen vertically :vsplit
navigating split screens CTRL + w + j = move down a screen
CTRL + w + k = move up a screen
CTRL + w + h = move left a screen
CTRL + w + l = move right a screen
close all other split screens :only
* - As with other commands in vi, you can playback a macro any number of times.
The following command would playback the macro assigned to the key `w' 100
times: 100@w
** - Vim uses words that exist in your current buffer and any other buffer you may have open for auto-complete suggestions.
ZZ(工作方式:wq)
关于光标的位置:我发现光标总是停留在屏幕中间是很酷的
set scrolloff=9999
:Te[xplore]
Tab & Explore(在生成浏览器窗口之前执行Tab new)
:b[缓冲区名称的任何部分]来切换缓冲区。因此,如果你有两个缓冲区," someotherfile1 .txt"和"someotherfile2.txt",你可以切换到第二个,只需输入":b 2.t<enter>"。它还支持制表符补全,尽管这不是必需的。
说到制表符补全,设置:set wildmode=full wildmenu也非常有用。它为命令模式提供了完全的选项卡补全功能,在使用它时还提供了非常有用的ncurses风格菜单,其中包含所有可能的匹配。
进一步使用xcramps的建议,我无法告诉你我用了多少次:
: % !排序
对文件中的项列表进行排序。
细节:
:范围!命令
将在指定的行范围上执行shell命令。一个范围通常被指定为开始,结束
例子: 1,3指定前3行 'a,'b选择书签a和b之间的文本 ,$选择整个文档(。=第一线;$ =最后一行) %是.,$的快捷方式,还可以选择整个文档。
您可以随意混合和匹配数字、书签、.和$。