我在现实生活中总是面临这个问题。
我要这个:
我的光标位于多行代码的第一行。内容应放置在多行代码之后。
[cursor]xxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
[this is where i want to place the code]
Run Code Online (Sandbox Code Playgroud)
现在的问题:
由于pvim 中只是将代码粘贴到光标后面,所以我必须转到行尾和p。
xxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
xxxxxxxxxxxx
[cursor]xxxxxx
[this is where i want to place the code]
Run Code Online (Sandbox Code Playgroud) 我用 text wrangler 和 textedit 打开一个逗号分隔的 CSV 文件,它显示了逗号,分隔的值。
但是,使用 MacVim 打开会给我一个管道|分隔文件。
如何禁用此行为?
我是 macvim 的新手。我用 Janus 安装了 macvim。我尝试编译并运行java文件。为此,我尝试编写一个函数来收集 .gvimrc 文件中的所有这些命令。但是,当我在命令模式下运行它时,它显示“E492:不是编辑器命令”。请告诉我如何实现这样的目的。.gvimrc 中的代码是
" define a java compile and run function
function! s:RunJava(var1)
let str1=a:var1
shell
javac str1.java
java str1
endfunction
command! -nargs=1 RunJava call s:RunJava(<f-args>)
Run Code Online (Sandbox Code Playgroud)
在命令模式下我输入“:RunJava filename”
我已经用 Homebrew 安装了 macvim;OS X 版本 10.11.6;macvim 版本:
macvim: stable 8.0-119 (bottled), HEAD
Run Code Online (Sandbox Code Playgroud)
但它没有颜色printf,scanf默认情况下,在编辑“我file.c”。
我已经搜索了如何通过创建来添加它们~/.vim/after/c.vim。(我想到的另一种方法是直接编辑默认的 c.vim 文件,但我不知道它们在哪里)。
在我的~/.vim/after/c.vim我写道:
syn keyword printf scarf
Run Code Online (Sandbox Code Playgroud)
它不起作用......(如果我知道默认的 c.vim 文件在哪里,我可以参考它,也许我的问题可以解决。)
顺便说一句,我从 vim.org下载了c.vim,但我发现最后编辑的日期是 2010 年,如果我想要 C11 标准版本,如果重要的话,我可以从哪里得到一个(?)。
不更改像 c.vim 这样的默认语法高亮文件,并通过~/.vim/after/或添加我自己的文件是一个好习惯~/.vim/syntax/吗?
我知道如何使用nmap、imap等来查看 vim 中的所有键映射,以及如何列出哪个操作绑定到给定的键绑定。但有时我想快速查看给定插件的所有按键绑定,有没有一种快速的方法可以做到这一点?我不想列出所有键绑定并逐页搜索它们。
提前谢谢了。
我已经给出了在 vim 中删除尾随空格的配置
au BufWritePre *.rb :%s/\s\+$//e
au BufWritePre *.html :%s/\s\+$//e
au BufWritePre *.js :%s/\s\+$//e
au BufWritePre *.jsx :%s/\s\+$//e
au BufWritePre *.json :%s/\s\+$//e
Run Code Online (Sandbox Code Playgroud)
问题
我有一个有多个开发人员在工作的项目,这是一个很大的项目。我不想通过删除此项目中现有的尾随空格而引起大量冲突。
预期的
我只想为该特定项目禁用此配置。假设我的项目在~/work/projectA.
我最近尝试在 vim 中帮助自动化我的工作流程。由于默认情况下我的主文件夹中没有 .vimrc 文件,因此我创建了一个新文件并将我的代码放入其中。再次启动 vim 后,我惊讶地发现我的 C 代码未突出显示。删除 .vimrc 文件后,一切恢复正常。知道这一点后,我会假设当用户文件夹中没有某个内部定义的 .vimrc 文件时,vim 会回退到某个内部定义的 .vimrc 文件。有没有办法加载用户制作的 .vimrc 文件而不覆盖系统默认设置?如果没有,是否有一个命令列表可以放入我的 .vimrc 文件中以恢复这些设置?
在 Vim/GVim 中编辑 Clojure 代码时,我经常使用wword-motion 命令(以及它的表兄弟b向后的 word-motion)。然而,在默认的 Clojure 配置中,Vim/GVim 会忽略常见的单词分隔符,例如连字符、斜杠和句点。以下 Clojure 符号显示了所有三个:
clojure.core/select-keys
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我们希望w和b字运动命令在任何非字母字符处停止。
如何修改默认的 Vim 配置以识别 Clojure 中的这些单词边界?
有没有一种简单的方法来包围文本,我知道这个插件
但太多的钥匙.
我尝试了我的方法
vmap ' <D-x>i'<esc><D-v>i'
vmap " <D-x>i"<esc><D-v>i"
Run Code Online (Sandbox Code Playgroud)
但这不起作用.无论如何,如果修复了这种方式,我怎么能将这种行为提取到一个允许我这样做的函数:
有关如何做到这一点的任何推荐阅读?
我试图按照这个问题将mvim shell脚本添加到/ usr/local/bin表单bash ,一切似乎都有效; 但是,每当我尝试执行脚本时,我仍然会收到"命令未找到".
从我的mvim文件所在的目录(下载),我输入:
sudo cp -v mvim /usr/local/bin
Run Code Online (Sandbox Code Playgroud)
我得到输出:
mvim -> /usr/local/bin
Run Code Online (Sandbox Code Playgroud)
然后,无论我输入mvim还是输入,它都不起作用mvim -v
我之前从未向我的$ PATH添加过一些内容,但即使在查看了有关它如何完成的一些教程之后,我似乎也无法mvim作为终端命令工作.
编辑:
echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Run Code Online (Sandbox Code Playgroud)
和
ls -l mvim
-rwxr-xr-x ...
Run Code Online (Sandbox Code Playgroud)
和
ls -l /usr/local/bin
-rwxr-xr-x ...
Run Code Online (Sandbox Code Playgroud) 任何人都可以帮助我深入理解vi,vim和macvim这三件事.我分别在这三件事上看了很多,但我无法概述所有这些.我需要详细了解这三个主题
1)基本2)用于3)使用中的重要性
我对vim感到很沮丧(我正在使用macvim).当我想进入插入模式时,会感到沮丧.我点击一个区域,有时它进入另一种模式,视觉插入或类似的东西.
有时当我单击选择文本并尝试进入插入模式以开始重写所选文本时,这不起作用或整行被删除.
当它进入插入模式时,光标向左移动而不是向右移动,因此我总是需要重新调整它.这意味着如果我在行的末尾开始游标:System.out.print(); 因为我想添加让我们说一个评论,光标将最终在之间;); 而不是它的右边,我总是先移动它.
这些都是一些挫折.每个人都说vim是如此美妙,但我开始觉得它更像是一种痛苦而不是它的价值.
我不知道我做错了什么.我一定不能得到它或理解它的一些东西.有什么想法吗?