cwd*_*cwd 216 linux command-line vim files
我知道我可以vim通过执行类似的操作来打开多个文件vim 2011-12*.log,但是如何在文件之间切换并一次关闭一个文件?另外,我如何知道我正在编辑的当前文件的文件名?
bsd*_*bsd 233
首先,在 vim 中,您可以输入:(冒号),然后输入help help, ala:help以获取自助主题列表,包括一个简短的教程。在主题列表中,将光标移到感兴趣的主题上,然后按ctrl],该主题将被打开。
一个很好的起点是主题
|usr_07.txt| Editing more than one file
Run Code Online (Sandbox Code Playgroud)
好的,继续你的回答。
使用文件列表启动 vim 后,您可以通过输入:next或:n简称移动到下一个文件。
:wnext是写当前更改然后移动到下一个文件的缩写。
还有一个类似的:previous,:wprevious和:Next。(请注意,这:p是 的简写:print。简写:previous是:prev或:N。)
要查看您在文件列表中的位置,请输入:args当前正在编辑的文件将出现在[](括号中)。
例子:
vim foo.txt bar.txt
:args
Run Code Online (Sandbox Code Playgroud)
结果:
[foo.txt] bar.txt
Run Code Online (Sandbox Code Playgroud)
Han*_* N. 85
您可以在 vim 打开时打开另一个文件,:tabe filename并相应地切换到您键入的另一个文件:tabn或:tabp下一个和上一个文件。
当您不在编辑模式下(即不在插入、替换等模式下)时,键盘快捷键gT和gt也可用于切换选项卡。在某些系统上Ctrl+ Alt+Page Up和Ctrl+ Alt+Page Down也允许选项卡切换,但这并不总是有效(例如,它在“开箱即用”的 OS X 终端中不起作用)。
您可以在 vim 应用程序的顶部看到文件名。
Bir*_*rei 55
在缓冲区之间切换的命令:
:bf # Go to first file.
:bl # Go to last file
:bn # Go to next file.
:bp # Go to previous file.
:bw # Close file.
Run Code Online (Sandbox Code Playgroud)
:help buffer 查找更多信息
要知道文件名,请使用Ctrl+ G,:file或:f
Not*_*Now 37
除了给出的答案之外,另一个选择是将窗口拆分为:
:sp
:vsp
Run Code Online (Sandbox Code Playgroud)
:vsp用于垂直拆分。然后用于Ctrl+W <ARROW_KEYS>在窗格中移动。
xti*_*ian 14
我在超级用户处问了一个类似的问题,
“如何在不同的 bash 窗口和用 VI 打开的文件之间复制和粘贴?”
我的问题的答案是您不能,但是您可以使用 VIM 的:split命令在一个 bash 窗口中打开两个文件:
$ vim file1,使用:split file2命令在 VIM 中打开第二个文件。$ vim -o file1 file2从 bash使用。:q退出并:q!强制退出。我的 bash 是黑白的,所以每个屏幕的文件名都被设置为一个反向的“选定”行,其中引用了文件名。
哇!
Cor*_*ein 10
我发现编辑多个文件最方便的方法是使用选项卡。您可以通过命令行在单独的选项卡中打开多个文件,如下所示:
vim -p file1.txt file2.txt
Run Code Online (Sandbox Code Playgroud)
或者,如果您已经打开了 vim,您可以在新选项卡中打开一个新文件,如下所示:
:tabe file2.txt
Run Code Online (Sandbox Code Playgroud)
打开选项卡后,使用gt查看下一个选项卡和gT查看上一个选项卡。
您还可以使用 跳转到第一个选项卡,使用 跳转到1gt第二个选项卡2gt,等等。
您可以使用关闭标签 :tabc
最后,您可以将当前选项卡移动到第nth 位置,:ntabm其中 wheren是大于或等于 的任何数字0。
argadd a/b c/d e/f
Run Code Online (Sandbox Code Playgroud)
argadd ...将所有文件添加到 args,也添加到:ls/:buffers并允许您编辑它们。
见:h arglsit&:h argedit&:h argsd
此外,您只能使用 对 args 执行某些操作:argdo ...,并且您可以通过执行:argsd*.
| 归档时间: |
|
| 查看次数: |
287017 次 |
| 最近记录: |