在终端上的vi中查找当前打开的文件的文件名


12

如何检查终端中打开的文件名?也就是说,如何检查终端中现在打开了哪个文件?

现在,每当我想查看文件名时,都必须退出然后再检查。有没有办法在终端中检查当前文件名?


1
如果文件已打开,则必须使用某些程序读取它。您如何打开文件?
赞纳

使用vi编辑器,但是一旦打开文件,我就看不到文件名
Avani badheka

Answers:


7

使用:f。它将显示文件名以及其他信息:

在此处输入图片说明

您还可以:args用来查看为vim提供了哪些文件名作为命令行参数。如果您要打开多个文件(当前文件位于括号中),则当您想知道正在使用哪个缓冲区时,这非常方便:

在此处输入图片说明


13

要查看vi(m)中的文件名,请按esc,然后键入

:set title

文件名显示在终端窗口的顶部栏中。你也可以

:buffers

查看当前打开的文件-信息显示在底部的终端内部。如果您打开了多个文件,则可以%a 例如在当前文件旁边显示的那样分辨出您所在的文件。

:buffers
  1 %a=   "unicorns"      line 19     
  2       "rainbows"      line 1
Press ENTER or type command to continue

4
只需将set title〜/ .vimrc配置文件添加进去,这可能是一个好主意...
andrew.46

9

我更喜欢Ctrl-G:

http://vimdoc.sourceforge.net/htmldoc/editing.html

CTRL-G      or              *CTRL-G* *:f* *:fi* *:file*
:f[ile]         Prints the current file name (as typed, unless ":cd"
            was used), the cursor position (unless the 'ruler'
            option is set), and the file status (readonly,
            modified, read errors, new file).  See the 'shortmess'
            option about how to make this message shorter.
            {Vi does not include column number}

8

当前编辑文件的文件名在%寄存器中。您可以使用查看它:reg %


1

我非常喜欢状态行:(set laststatus=2set ls=2

vim状态行截图

如您所见,状态行显示了当前打开的文件的完整路径,其中包括当前模式,文件状态,标尺等其他有用信息。

有关更多详细信息,请参见:help laststatus

*感谢斯文


我喜欢随时查看状态行,因此将以上说明添加到了vim本地配置中:

 sudo sh -c "echo 'set ls=2' >> ~/.vimrc"

1
啊,我明白了。状态行包含文件名。好!但是您可以编辑答案以实际解释为什么需要状态行。第一次阅读您的答案时,我很困惑,因此很多人也可能会感到困惑。您需要进行编辑以保持清晰度
Sergiy Kolodyazhnyy

1
另外,也不必将其设置为/etc/vim/vimrc.local。设置它就~/.vimrc足够了。/etc/vim/vimrc.local对于所有用户来说,它几乎是全球性的
Sergiy Kolodyazhnyy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.