我知道这更像是一个一般的 linux 问题,但是 w/e。因此,当我在命令提示符下输入像 vim 这样的程序时,它会显示文件中的所有文本,我可以对其进行编辑等。但是我不知道如何关闭或保存文件并返回命令提示符而不杀死过程。任何帮助表示赞赏。
如果我使用第一个 vim 复制一行(with yy),我如何粘贴到另一个终端的 vim(with p)?有什么命令或设置可以做到吗?我可以复制并粘贴到全局系统剪贴板中吗?
我知道以下方法是可能的,但我想要一个更简单的方法:
我不想退出第一个 vim 并重新打开第二个 vim。
我不想使用单独的窗口(带有:sp)。
我是 ubuntu 和 vim 编辑器的新手。
我的问题是:如何使用 vim 在本地主机上保存文件?
当我使用命令时,:w我保存了文件,但是在哪里?以及如何将文件位置更改为/var/www/?
简短问题:
我们为什么可以操纵使用Vim的只读文件:+ w+ q+ !,即使没有作为一个管理员?
长问题:
我有一个对所有人只读的文本文件 (myFile.txt):
navid@navid-ThinkPad-T530:~/ubuntuTest$ ls -l myFile.txt
-r--r--r-- 1 navid navid 26 Aug 22 21:21 myFile.txt
Run Code Online (Sandbox Code Playgroud)
我可以在没有管理员权限的情况下用 Vim 打开它:
navid@navid-ThinkPad-T530:~/ubuntuTest$ vi myFile.txt
Run Code Online (Sandbox Code Playgroud)
我修改它并按:Esc+ :+ w+ q+Enter我看到这个错误信息:
E45: 'readonly' option is set (add ! to override)
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都说得通。但是当我按下:Esc+ :+ w+ q+ !+ 时Enter,Vim 会保存更改。
我使用的是 Ubuntu 16.04 和 VIM 7.4。
在vim中,当我使用
:r !ls somefilename
它将该命令的输出插入当前行下方的新行。
如果我做
let @a = system("ls")
然后
"ap
它仍然在当前行下方的新行中插入输出。
有没有办法让 vim 在当前位置插入输出?
因此,vim-tiny在 Ubuntu 中默认安装了 cut down 。我不介意使用它,但我找不到文档,而且我在普通 Vim 中使用的大多数命令都不起作用。到目前为止,我已经发现:n并:N在缓冲区之间移动并:split拆分屏幕(但Ctrl- W+S没有),:close关闭拆分,并且Ctrl- W+W在拆分之间跳跃。
我还缺少哪些其他命令?
我正在运行 Ubuntu 12.04。
我正在尝试获取一个特定的 vim 插件,它需要 vim 启用 ruby 支持(插件是 command-t)。
人们告诉我,我必须进入我的 vim 目录并运行
./configure --enable-rubyinterp
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我收到以下错误:
no terminal library found
checking for tgetent()... configure: error: NOT FOUND!
You need to install a terminal library; for example ncurses.
Or specify the name of the library with --with-tlib.
Run Code Online (Sandbox Code Playgroud)
现在我已经检查并安装了 ncurses-base。
我需要做什么?
如果我正在使用 vim 编辑两个文件,更改为另一个文件 ( :bnext, :bprev ) 似乎会从打开的文件中删除撤消历史记录 - 点击 'u' 键报告“已经是最旧的更改”。
例如:
vim testfile1 testfile2:w:bn:bpu有没有办法为不可见缓冲区保留此历史记录?
vim ×10
command-line ×4
background ×1
chmod ×1
clipboard ×1
compiling ×1
gvim ×1
permissions ×1
process ×1
read-only ×1