作为日志查看器,vim 的哪些功能方便?
less -F很好。但是我相信如果我们知道 vim 的隐藏功能,它会更好。
* 或 #
v//d
g//d
等等。
附注。我不使用 vim 作为代码编写工具。
我们公司使用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中,我通常设置foldmethod于indent大多数类型的文件。一般来说,我喜欢打开所有折叠的文件。但是,立即开始使用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)
(但是请注意,它应该适用于文件的初始最大缩进可以是任何值的一般情况)。
我使用 gvim 作为我的文本编辑器,语法着色很棒,只是它突出显示了“错误”并为其提供了带有红色字体的白色背景。如何关闭错误突出显示?我觉得它很烦人,不需要它。
我正在努力改进我的.vimrc,我想在其中拥有命令,这取决于是白天还是黑夜。我想最后有如下内容:
if isNightTime
" do something
else
" some other thing
endif
Run Code Online (Sandbox Code Playgroud)
解决这个问题的最佳方法是什么?
我试图自定义 gvim 一点。我看到Edit菜单下有一个选项可以更改Settings Window。它打开了,但随后出现以下错误。
E382 不能写,'buftype' 选项被设置。
我如何写我改变的选项?网上我看到有人说我需要的选项添加到vimrc文件无论是在~/.vimrc或/etc/vimrc或/etc/gvimrc。我认为我可以直接通过 gvim 编辑器来完成,而不是通过向我的~/.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)后立即获得只读标志。
为什么是这样?我怎样才能防止这种情况?
名称中包含“rc”的文件有很多,但是“rc”是什么意思呢?
我已经在我的 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) 我已经根据这个问题设置了 nobackup 和 nowritebackup - VIM 会破坏 Windows 下的符号链接
但是,每当我通过链接修改文件时,目标文件都会设置为只读。
如何防止链接目标变为只读?