使用macvim,当我复制文本选择时,它总是包含光标下的字符.
例如,如果光标位于最左侧,我按下向下箭头,则选择整行加上下一行的第一个字符(因为光标位于下一行的第一个字符上).
有没有办法将macvim配置为不在文本选择中包含游标字符?
我最近从一组自定义的vim插件和.vimrc 切换到使用Janus.我真的很喜欢这个设置,但我遗漏的一件事是Ruby中的块自动完成.
例如,当我输入:
def method <enter>
Run Code Online (Sandbox Code Playgroud)
它会完成块:
def method
# cursor here
end
Run Code Online (Sandbox Code Playgroud)
我正在使用Tim Pope的一些插件而无法回想起哪一个提供了功能(Rails可能?)有没有办法使用Janus获得此功能?是否有人不想要这个?看起来真的很方便.
我现在正在使用TextMate我正在使用MacVim,我唯一想念TextMate的是"在项目中查找"功能,是否有任何Vim插件提供此功能?
我正在使用MacVim,我希望!打印彩色命令.例如:
在bash中,以下echo语句以绿色打印Hello World(按预期方式):
$ echo -e "\033[32m Hello World"
Hello World
Run Code Online (Sandbox Code Playgroud)
但是,在VIM中输出不是颜色,并且打印转义码:
:!echo -e "\033[32m Hello World"
[32m Hello World
Run Code Online (Sandbox Code Playgroud)
如何使用VIM(特别是MacVim build 57)打印!命令输出并遵守ANSI颜色转义.
我发现以下代码将突出显示所有不必要的空格,但我真的希望它也突出显示我的代码中的所有选项卡.我玩了很多不起作用但我找不到兼容的正则表达式.有任何想法吗?
highlight RedundantWhitespace ctermbg=red guibg=red
match RedundantWhitespace /\s\+$\| \+\ze\t/
Run Code Online (Sandbox Code Playgroud)
编辑:按要求添加样本:
好吧,在下面的示例中,我使用\ t来表示制表符和%来表示我希望vim以红色突出显示的尾随空格.
/tOh hi here is some text%%%%
/t/tHere is some indented text%%%
Run Code Online (Sandbox Code Playgroud)
因此,在第一行有1个选项卡,其空格应以红色突出显示,4个尾随空格以红色突出显示.在第二行有2个选项卡和3个尾随空格以红色突出显示.
使用案例:
您的MacVim窗口中显示2-3个文件.按ctrl + Q键,MacVim关闭.当您重新启动MacVim时,它会打开,显示您关闭它时的相同文件.
你怎么能这样做?
- 答案
我将以下内容添加到我的.vmirc中
"save and close all files and save global session
nnoremap <leader>q :mksession! ~/.vim/Session.vim<CR>:wqa<CR>
"close all files without saving and save global session
nnoremap <leader>www :mksession! ~/.vim/Session.vim<CR>:qa!<CR>
function! RestoreSession()
if argc() == 0 "vim called without arguments
execute 'source ~/.vim/Session.vim'
end
endfunction
autocmd VimEnter * call RestoreSession()
Run Code Online (Sandbox Code Playgroud)
有了这个我几乎有我想要的确切行为,唯一的小麻烦是我仍然需要按下命令-Q但是那是MacOs,而不是vim ....
我想让光标和选中的文字更容易在vim(白色背景,黑色前景)中阅读,所以我已经完成了
hi Visual guibg=white guifg=black gui=NONE ctermfg=black ctermbg=white cterm=reverse
hi Cursor guibg=white guifg=black gui=NONE ctermfg=black ctermbg=white cterm=reverse
Run Code Online (Sandbox Code Playgroud)
这给了我在MacVim上我想要的东西.但是,在vim终端上,它默认为终端首选项,这很难读取和查找...如何覆盖终端默认值?
编辑:说hi Visual类似的工作完美.这是hi Cursor说没有.
当我输入类似的终端时
mvim ./path/to/my/project
Run Code Online (Sandbox Code Playgroud)
Vim打开这个项目目录,在我的NERDTree中我可以看到文件,但是当我尝试运行一些CLI命令时,就像
:!touch some/file/in/my/project
Run Code Online (Sandbox Code Playgroud)
它发生了,我当前的路径是我的用户主目录
所以如果我想在我的项目目录中创建文件,我必须输入完整的路径
:!touch ./path/to/my/project/some/file/in/my/project/name
Run Code Online (Sandbox Code Playgroud)
在vim启动后是否有可能以某种方式自动更改dir?
如何设置MacVim以启动一个扩展整个高度(减去菜单栏)和我的显示器宽度(不是全视图)的窗口?
如果在启动时不可能,我怎样才能手动更改它(不是通过拖动窗口,而是使用命令)?
我不能在macvim中折叠我的代码
我的环境和设置在gist链接https://gist.github.com/poc7667/7035979
有没有想法?
hi Comment ctermfg=6
"function SetCafeOptions()
"CoffeeCompile
":set nonu
":res -24
":res +24
"endfunction
set encoding=utf-8
set fileencoding=utf-8
colorscheme elflord
set smartindent
set tabstop=4
set expandtab
set shiftwidth=4
"make it autoreload
set autoread
"auto move it last time the position you viewed
"make vim save and load the folding of the document each time it loads"
""also places the cursor in the last place that it was left."
"try to set show ansi color
if &term=="ansi"
set …Run Code Online (Sandbox Code Playgroud)