vimscript

为什么我的配色方案有时会在 Windows 10 上的 GVIM 中变得混乱?
vimscript

为什么我的配色方案有时会在 Windows 10 上的 GVIM 中变得混乱?

我最近添加了以下代码$MYGVIMRC(多年来一直没有改变并且运行良好),以便我的 Windows 10 上的 GVIM(8.2)根据一天中的时间自动切换背景: fun! s:set_bg(timer_id) let hour = strftime('%H') let value = ((hour > 6 && hour < 18) ? 'light' : 'dark') if !(value == &background) let &background = value ...

Admin

Vim - 我可以在不编写函数的情况下将多个参数传递给自定义命令吗
vimscript

Vim - 我可以在不编写函数的情况下将多个参数传递给自定义命令吗

我在 .vimrc 文件中写了以下自定义命令: command! -nargs=+ Sub :%s/<args>/g 它允许我用一个词替换另一个词,执行方式如下: :Sub <word>/<new word> 我更喜欢编写带有多个参数的命令,如下所示: :Sub <word> <new word> 我可以重写命令以接受多个参数吗? 理想情况下我想要这样的东西: command! -nargs=+ Sub :%s/<arg1>/<arg2>/g 先感谢...

Admin

如何在 vim 8.1 中打开终端分割,而无需切换到它或返回到 vimscript 中的上一个分割
vimscript

如何在 vim 8.1 中打开终端分割,而无需切换到它或返回到 vimscript 中的上一个分割

基本上我想要以下功能: 使用 vims 的新终端功能,我希望能够按下一个按钮,打开一个新的终端窗口,而不会从我正在编辑的文件中窃取焦点,使用 “cmake -Bbuild -H. && cmake --build build/ -- -j4 -w”编译我的代码,它向我显示实时编译,当我不再需要它时,我可以使用另一个按钮再次关闭它 那么,如何使用 :terminal 执行复杂命令,同时将焦点留在原始分割中? ...

Admin

Vim:操作员待定模式重新映射不起作用
vimscript

Vim:操作员待定模式重新映射不起作用

我正在尝试构建一个可以与 Dvorak 简化布局一起使用的 vimscript。即,假设插入计算机的键盘上的按键采用 Dovark 简化布局布局(并且系统的键盘设置也相应设置),我想编写一个 vimscript,使 vim 仅在插入模式下使用 Dvorak 布局:在所有其他模式下,键盘布局将为 QWERTY。 以下是我所拥有的: "Keys between the 0 and the backspace noremap [ - noremap { _ noremap ] = noremap } + "Keys from the tab till the...

Admin

Vim 高亮显示多个“#”后的所有文本
vimscript

Vim 高亮显示多个“#”后的所有文本

如果文本出现在一系列#井号之后,我会尝试将其设为粗体。这是我的 中的行.vimrc: au BufRead,BufNewFile *.txt hi header cterm=cyan ctermbg=red 以及我尝试的正则表达式: au BufRead,BufNewFile *.txt syn match header /\n#+\zs.*\ze/ au BufRead,BufNewFile *.txt syn match header /^#+\zs.*\ze/ "Why doesn't ^ work? 这有点有效,但它也匹配了#s 和一些不...

Admin

tmux 与 vim 之间切换窗格的功能已损坏
vimscript

tmux 与 vim 之间切换窗格的功能已损坏

好的,所以我在 tmux 中运行 vim,最近(实际上是今天)我突然无法ctrl+hjkl在 tmux 和 vim 中切换窗格,相反它只会发出铃声并且拒绝切换。 如果我用鼠标选择 tmux 窗格,我可以使用切换回 vim 窗格,ctrl+hjkl但除非我使用鼠标(我知道,我知道),否则无法再次切换回。 该问题仅发生在加载了 vim 的窗格中。 在我的tmux.conf我有: # smart pane switching with awareness of vim splits bind -n C-h run "(tmux display-messag...

Admin

将先前的命令导入到编辑的命令中
vimscript

将先前的命令导入到编辑的命令中

我正在使用 zsh 根据“原始日期/时间”exif 属性更改图像修改时间。 为此我执行一个命令: PDATE=$(exiftool -p '$DateTimeOriginal' $PIC | sed 's/[: ]//g') touch -t $(echo $PDATE | sed 's/\(..$\)/\.\1/') $PIC 我收到了一些带有错误“原始日期/时间”值的图像,因此这些图像未被处理。 所以我正在努力从图像文件名中获取日期,我得到了 for i in `grep -E -o 'IMG\S+jpg' logfile`; do dte=...

Admin

如何在 `~/.vimrc` 中设置 `colorscheme` 的映射以在 `dark` 和 `light` 之间切换 `solarized`?
vimscript

如何在 `~/.vimrc` 中设置 `colorscheme` 的映射以在 `dark` 和 `light` 之间切换 `solarized`?

如何设置~/.vimrc映射以在和之间colorscheme切换?solarizeddarklight 和 都background行为colorscheme不当~/.vimrc! 我已经设置了 solarized 来在 vim 上运行,它可以手动切换背景明暗。我的常规设置如下~/.vimrc: 插入“altercation/vim-colors-solarized” “我用plug.vim 语法启用 设置背景=光 设置 t_Co=256 让 g:solarized_termcolors=256 操作系统:Ubuntu 14.04;xterm,支...

Admin

在 vim 中打印标签文件夹
vimscript

在 vim 中打印标签文件夹

我在 .vimrc 中得到了这行,以便它查找父目录直到找到标签文件。 set tags=./tags; 有没有办法打印 vim 在里面找到标签文件的目录? ...

Admin

命令“在插入模式下,转到包含内容的最后一行的末尾”
vimscript

命令“在插入模式下,转到包含内容的最后一行的末尾”

对于纯文本文件,当我在 Vim 中重新打开它们以添加内容时,我希望转到最后一行内容的末尾并进入插入模式。在理想情况下,GA打开文件后执行简单的操作即可解决此问题。不幸的是,我有在文件末尾添加一些额外换行符的习惯,事实证明这是一个很难改掉的习惯。 鉴于此,在 Vim 中,最简单的方法是什么来表示“转到文件中最后一行,其中包含内容,转到该行的末尾并进入插入模式”?我想我的问题的关键是,如何向 Vim 表达“最后一行包含内容”的概念? ...

Admin

检查 vim 是否在 .vimrc 中使用 +X11 进行编译
vimscript

检查 vim 是否在 .vimrc 中使用 +X11 进行编译

我安装了两个 vim 副本。 一个与 macvim 一起安装,并且必须配置为 -X11(与 Cocoa 一起使用),而另一个配置为 +X11(在终端中使用,与我使用的插件一起使用) 我希望所有复制的内容都转到系统剪贴板。启用 +X11 后,我可以在 .vimrc 中使用 执行此操作set clipboard=unnamedplus。启用 -X11 后,我可以使用 执行此操作set clipboard=unnamed。 我如何有条件地在 .vimrc 中执行此操作? 就像是 if &x11 set clipboard=unnamedplus...

Admin

vim 通过绝对路径查找缓冲区
vimscript

vim 通过绝对路径查找缓冲区

当我有绝对路径时,如何在 vimscript 中查找缓冲区,并且您知道 vim 缓冲区名称可以是相对路径?有这样的函数吗? ...

Admin

Vim:管理多种措辞选择
vimscript

Vim:管理多种措辞选择

(阅读本文后,请建议另一种措辞来回答这个问题,因为我无法想出更好的措辞) 在使用 Vim 编写和编辑时,无论是供人类阅读的文本还是供人类和计算机阅读的文本(代码),我经常无法立即确定某些文本块的最终版本,无论是带有大量同义词的单词(在散文中)还是用途尚不明确的函数名称(在代码中)。例如,在散文中: 我已成功说服他使用 Linux 而不是 Windows。 或者用代码: def count/countEven/somethingElse(input) ... ... 这就是我当前的工作流程。我想跟踪文本最终版本的所有可能候选者,所以...

Admin

Vim 中的 `:cw` 命令:如何避免自动跳转到第一个错误?
vimscript

Vim 中的 `:cw` 命令:如何避免自动跳转到第一个错误?

在 Vim 中,:cw如果有任何错误,命令会显示快速修复窗口,并让光标跳转到快速修复窗口中第一个识别的错误(而不是在出现错误的缓冲区中)。是否有命令可以执行相同的工作,但不跳转到第一个错误,而是停留在原来的位置? ...

Admin