标签: vimrc

使用 vim 作为日志查看器的提示

作为日志查看器,vim 的哪些功能方便?

less -F很好。但是我相信如果我们知道 vim 的隐藏功能,它会更好。

* 或 #
v//d
g//d
等等。

附注。我不使用 vim 作为代码编写工具。

vim gvim vimrc logging

8
推荐指数
1
解决办法
6290
查看次数

vim 不能用 :! 执行 unix 命令 由于换壳

我们公司使用red hat linux系统,在/home给大家分配一个账号。不幸的是,我们的系统正在使用 tsch,这对我不利。而且,由于我没有超级用户权限,我无法使用 chsh 命令为自己更改为 bash。更糟糕的是,我也无法使用 ypchsh。所以,最后,我将以下几行添加到 .cshrc 中:

    bash
    echo $0
Run Code Online (Sandbox Code Playgroud)

并适当配置 .bashrc(从原始 .cshrc 复制并修复必要的语法错误)。现在明显的 shell 变成了 bash(如“echo $0”命令所示)。

现在问题来了:

当我使用 vim 编辑一个 cpp 文件(例如 Hello_World),并在 vim 中使用“:!g++ -g Hello_World.cpp -o hw.out”编译文件时,不会显示任何结果,并且 vim 退出显示“bash”(当终端打开时),但没有通常的“敲击键”来回到我在 vim 中的工作。在 Hello_World.cpp 文件夹中,有一个 .Hello_World.cpp.swp 文件,但没有 hw.out。当再次vim Hello_World.cpp 时,发现这个cpp 文件已经打开了。

但是,如果我 g++ 文件夹中的 cpp 文件但不使用 vim 和 :!,则一切正常。实际上, :!现在似乎对 vim 来说是非法的。

如果我用原来的tcsh,一切也OK。

我该如何解决这个奇怪的错误?

提前感谢您的友好帮助。

顺便说一句:我更喜欢 bash 而不是 tcsh,主要是因为它具有 HISTIGNORE 和 HISTCONTROL 的便利性,尽管 tcsh 也有 histdup 设置。

我发现以下内容有点帮助,但仍然不能满足我的问题。

如何从 Vim 中运行 Unix 命令?

bash vim vimrc tcsh

8
推荐指数
1
解决办法
979
查看次数

如何在 vim 中将 foldlevelstart 设置为最初不折叠任何内容,仍然允许 zr 立即工作?

在vim中,我通常设置foldmethodindent大多数类型的文件。一般来说,我喜欢打开所有折叠的文件。但是,立即开始使用zm以开始在文件中全局关闭折叠非常有用,一次一个级别,让我可以查看文件的整体结构,而不会妨碍细节。

我发现的唯一通用解决方案是设置foldlevelstart一个非常高的数字,例如 99,以确保所有文件(记住不同的文件将具有不同的最大缩进级别)开始完全展开。但是,我必须zm反复使用以减少foldlevel到文件的最大折叠级别,通常远小于 99,这既麻烦又不切实际。我可以foldlevel使用 vim 命令行手动设置,但我仍然需要知道文件中的最大缩进。

有没有一种实用的方法来打开一个文件,foldlevel设置为文件本身的最大当前缩进/折叠级别?

例如,给定以下文件:

a
  b
    c
      d1
      d2
    e
      f1
      f2
Run Code Online (Sandbox Code Playgroud)

第一次按键zm将显示:

a
  b
    c
+--  2 lines: d1------
    e
+--  2 lines: f1------
Run Code Online (Sandbox Code Playgroud)

(但是请注意,它应该适用于文件的初始最大缩进可以是任何值的一般情况)。

vim vimrc code-folding

8
推荐指数
1
解决办法
3393
查看次数

如何关闭 gvim 错误突出显示?

我使用 gvim 作为我的文本编辑器,语法着色很棒,只是它突出显示了“错误”并为其提供了带有红色字体的白色背景。如何关闭错误突出显示?我觉得它很烦人,不需要它。

vim gvim vimrc syntax-highlighting gvimrc

8
推荐指数
1
解决办法
7923
查看次数

在 Vim 中作为条件的一天中的时间

我正在努力改进我的.vimrc,我想在其中拥有命令,这取决于是白天还是黑夜。我想最后有如下内容:

if isNightTime
  " do something
else
  " some other thing
endif
Run Code Online (Sandbox Code Playgroud)

解决这个问题的最佳方法是什么?

vim vimrc

7
推荐指数
1
解决办法
284
查看次数

gvim 选项/设置窗口无法写入 buftype 设置为 e382

我试图自定义 gvim 一点。我看到Edit菜单下有一个选项可以更改Settings Window。它打开了,但随后出现以下错误。

E382 不能写,'buftype' 选项被设置。

我如何写我改变的选项?网上我看到有人说我需要的选项添加到vimrc文件无论是在~/.vimrc/etc/vimrc/etc/gvimrc。我认为我可以直接通过 gvim 编辑器来完成,而不是通过向我的~/.vimrc文件添加选项。

vim gvim vimrc

7
推荐指数
1
解决办法
1万
查看次数

符号链接到 Windows 上的 .vimrc 使文件在写入时只读。为什么?

我已将我的.vimrc文件放在一个中央位置(dropbox 文件夹,也是一个 hg 存储库)。

在 Windows 7 下,我从我的主文件夹符号链接到它(奇怪的是,我必须以管理员身份执行此操作,否则我得到了“无权限”):

C:\users\Me>mklink .vimrc C:\users\me\dropbox\dotfiles\.vimrc
Run Code Online (Sandbox Code Playgroud)

通过使用set backupcopy=yes(在此处找到:gVIM 会破坏 Windows 上的符号链接?)修复覆盖问题后,我遇到了另一个问题。当我保存修改后的文件时,真正的.vimrc(在我的dropbox/dotfiles文件夹中)在我保存(使用:w)后立即获得只读标志。

为什么是这样?我怎样才能防止这种情况?

windows vim symbolic-link vimrc

7
推荐指数
1
解决办法
2038
查看次数

.vimrc 和 .bashrc 等文件名中的“rc”是什么意思?

名称中包含“rc”的文件有很多,但是“rc”是什么意思呢?

linux vimrc bashrc

7
推荐指数
0
解决办法
405
查看次数

Vundle - 插件已安装但未加载

我已经在我的 ubuntu 机器上安装了 vundle,但是当我加载 vim 时,没有任何插件加载。我的vimrc:

runtime! debian.vim
set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
set rtp+=~/.vim/bundle/Vundle.vim
"set rtp+=~/.vim/bundle
call vundle#begin()
" alternatively, pass a path where Vundle should install plugins
"call vundle#begin('~/some/path/here')

" let Vundle manage Vundle, required
Plugin 'gmarik/Vundle.vim'
Plugin 'reedes/vim-thematic'
Plugin 'bling/vim-airline'

" >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>All of your Plugins must be added before the following line
call vundle#end()            " required
filetype plugin indent on    " required …
Run Code Online (Sandbox Code Playgroud)

plugins vim vimrc vim-plugins

7
推荐指数
1
解决办法
9434
查看次数

如何防止 VIM 文件在通过 Windows 符号链接编辑时变为只读?

我已经根据这个问题设置了 nobackup 和 nowritebackup - VIM 会破坏 Windows 下的符号链接

但是,每当我通过链接修改文件时,目标文件都会设置为只读。

如何防止链接目标变为只读?

windows vim vimrc

6
推荐指数
1
解决办法
838
查看次数