Vim是一个免费的开源模式文本编辑器,可用于大多数主要平台。它允许在许多文本编辑任务中高效,但具有陡峭的学习曲线。要学习基础知识,请运行“:help vimtutor”。
每当我执行 :imap 这样的命令时,Vim 都会启动某种不支持搜索输出的(内部?)寻呼机。有没有办法配置 Vim 使用不同的寻呼机?
我做了一些低级编程,其中涉及相当多的位操作。如果我能以某种方式在光标下将 1 翻转到 0,反之亦然,那将非常有用。我找不到任何内置的
我想保存并执行用C编程语言编写的代码,只需在vim中按F5键(在正常模式下)。 所以我将这一行添加到 .vimrc 文件中: :autocmd 文件类型 c nnoremap ...
我使用make来编译,有时使用gcc或clang。 我有一个函数可以根据编译器更改错误格式。 但我仍然收到与 make 相关的警告,我想...
在 .vimrc 中设置 guifont 在 Windows 11 中不起作用
在 Windows 11 23H2 上使用 GVIM 版本 9,我使用“编辑”>“选择字体”来选择 Lucida Console 大小 12,它按预期工作。当我输入 :set guifont?我懂了 设置 guifont=Lucida_Console:h12:cANSI:
几个月前,我将 inoremap gj 和 inoremap gk 添加到我的 vimrc 文件中,以便在换行时编辑长行文件...
Vimscript 函数用于替换 nvim 中可视化选择的缓冲区
我正在尝试创建一个 neovim 颜色选择器插件,我制作了一个 Python 应用程序,用于使用 Python 的 tkinter 库从色轮中选择颜色,并使用 vimscript 函数来打印输出...
我经常使用以下 Vim 宏(它将当前行放在 XML 标签内): 我^[A 所以我将它保存到我的 .vimrc 中 让@e='I^[A' 但这不起作用。 该...
防止 lua 中 nvim 不需要的 TextChanged 事件
我对 vim 使用 vim-auto-save,对 neovim 使用 autosave.nvim,我将两者设置为仅在 InsertLeave 中保存,但在插入模式下,当我在一对大括号 {}、()、[] 内按 Enter 时,要插入换行符,...
我想在 Vim 中查找一个短语。找到后,我想删除该短语的出现。循环遍历所有出现的情况(通过 n)并删除匹配的最简单方法是什么...
我通过 PuTTY 和 PuTTY 连接管理器运行 Vim 6.3。我设置了鼠标选项(设置鼠标= a)。我可以通过 将内容从 (Windows) 剪贴板粘贴到 Vim 我通过 PuTTY 和 PuTTY 连接管理器运行 Vim 6.3。我设置了鼠标选项(设置鼠标= a)。我可以通过 将内容从 (Windows) 剪贴板粘贴到 Vim,但是在 Vim 中选择文本不会将任何内容复制到剪贴板。我该怎么做? 注意:我无法将 Vim 更新到较新的版本。 按住 Shift,然后使用鼠标左键突出显示要复制的文本。当您释放时,突出显示的文本应该位于 Windows 剪贴板中。 您可以用鼠标选择一些文本,然后输入: "*y 将所选文本拖入剪贴板,然后您应该能够在其他应用程序中使用剪贴板内容。 如果"*y打字很麻烦,可以将以下内容放在host .vimrc中 :noremap y "*y Ctrl-Insert 进行复制,Shift-Insert 进行粘贴 请勿使用鼠标=a。 将鼠标置于命令行模式(:set mouse=c)。 然后您只需选择文本将其放入系统剪贴板(与所有其他 PUTTY/KITTY 命令一样),
从 PuTTY/Vim 可视模式复制到 Windows 剪贴板 [重复]
我当前在 PuTTY 中打开了一个 Vim 会话,并且我已通过可视模式选择了文件中的所有内容。通常要将其复制到剪贴板,我会使用“+y”或“*y”,但两者都不是......
航空公司插件有一个扩展,它使用 Tagbar 来显示当前的函数名称。 (我知道这一点是因为我通过问这个问题发现了这个问题) 这真的很好用,而且我...
我在文本文件中有以下内容: 例如,这是 cv_1 的一些文本 例如,这是 cv_001 的一些文本 例如,这是 cv_15 的一些文本 我正在尝试使用正则表达式 cv_.*?\s 来 m...
将整个 (Python) 文件从 2 空格缩进转换为 4 空格缩进
我经常使用作为模板提供给我的 Python 文件,这些文件使用 2 的缩进。但是,我个人更喜欢使用 4 的缩进宽度,这是我设置的...
如何从 vim/gvim 外部重新加载所有正在运行的实例中的 vim/gvim 配置
例如,我有一个可以从 bash 脚本运行的命令,并且所有打开的 gvim 和 vim 会话都会重新加载其配置。 这已经是整个问题了,真的,但我也会......
我正在尝试将 Vim 中的文本添加到另一个文件中。特别是当前行,但视觉选择也很好。最终我想将其映射到类似的东西 我正在尝试将 Vim 中的文本添加到另一个文件中。特别是当前行,但视觉选择也很好。最终我想将其映射到类似<leader>i的东西。 在 bash 中我可以使用以下 sed 命令来实现此目的: sed -i '1i some new text' myfile.md 所以我在 vim 中尝试了这个: :execute "!sed -i '1i" .getline('.') "' myfile.md" 这有效,但是当当前行中有 ! 时:shell returned 2。 然后我发现了 shellescape,并且我得到了以下命令来工作。现在看来我在转义字符上做了一些错误的事情,因为这会在字符串周围添加单引号。 :execute "!sed -i \"1i " . shellescape(getline('.'), 1) . "\" myfile.m 我错过了什么?有更好的办法吗? function! PrependLine() update " Save the current file to avoid problems with switching buffers yank " copy the current line to the default register edit myfile.md " Open a new buffer or switch to exiting one 1put! " Paste content of the default register before the 1st line update " Save the file edit # " Return to the previous file endfunction map <leader>i :call PrependLine()<CR> 唯一的问题是——文件名是固定的。 Vim 宏没有参数。功能确实有。