如何解决点文件中无与伦比的“”-点文件中“”的功能是什么?
我最近在偶然地按下#键后试图从Vim中删除突出显示时遇到了this answer。我遵循了用户的代码,并在.vimrc
文件的底部输入了该代码:
" <Ctrl-l> redraws the screen and removes any search highlighting.
nnoremap <silent> <C-l> :nohl<CR><C-l>
我退出Vim,然后运行source vimrc
它返回以下错误:
Unmatched ".
因此,我认为这是指双引号需要在行尾添加相应的句号,就像用户所做的那样。但是我正在查看.vimrc
,但没有一个句号匹配。确实,当我删除插入的行并尝试运行source vimrc
时,它仍然返回Unmatched ".
错误。这是一个示例:
" main
syntax enable
set encoding=utf-8
set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
set smarttab
set number
set showcmd
set bs=2 " use backspace in INSERT mode
"set nomodeline " turn off modeline parsing
另一个:
" split nav
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H>
我的问题是我不了解“这里”的功能,也无法从Googling或搜索以前的SO问题中找到任何信息。它似乎像在做评论,但我认为#是注释。我是一个完整的Linux初学者-如果需要修复点文件,我不知道正确的语法是什么。
所以我的问题是双重的:
-
该如何解决?我是否应该遍历整个点文件,并在每行的末尾添加一个以“?”开头的句点?
-
“反正是什么?
我相信我正在使用TCSH。
编辑:这是点文件:
" main
syntax enable
set encoding=utf-8
set tabstop=4
set shiftwidth=4
set softtabstop=4
set expandtab
set smarttab
set number
set showcmd
set bs=2 " use backspace in INSERT mode
"set nomodeline " turn off modeline parsing
set cursorline
set autoindent
filetype indent on
filetype on
filetype plugin on
set wildmenu " autocomplete menu
set lazyredraw " redraw only when necessary
set showmatch " highlight matching parentheses
set smartcase
set incsearch " search as char entered
set hlsearch " highlight search matches
nnoremap #<space> :nohlsearch<CR> " #<space> turn off search hl
set foldenable " enable folding
set foldlevelstart=10 " open most folds be default
set foldnestmax=10 " 10 nested fold max
nnoremap <space> za " space open/closes fold
set foldmethod=indent " fold based on indent level
nnoremap j gj " move down visually
nnoremap k gk " move up visually
nnoremap gV `[v`] " highlight latest - ins mode
" status line that shows more information than the default one
" set statusline=%F%m%r%h%w\ [FMT=%{&ff}]\ [T=%Y]\ [HEX=\%02.2B]\ [POS=%04l,%04v\ (%p%%)]\ [lines=%L]
" set laststatus=2
" split
set splitbelow
set splitright
" split nav
nnoremap <C-J> <C-W><C-J>
nnoremap <C-K> <C-W><C-K>
nnoremap <C-L> <C-W><C-L>
nnoremap <C-H> <C-W><C-H>
解决方法
您似乎将Shell点文件与.vimrc
混淆了。 Shells提供外壳程序dotfiles,而vim提供vimrc。外壳程序不了解vimrc表示法,特别是"
引入了vim的注释,而它在外壳程序中以双引号引起来。 Shell期望双引号成对出现,这就是为什么您得到Unmatched "
的原因。
换句话说,不要告诉shell source .vimrc
,只需启动vim
,它将自动为您提供$HOME/.vimrc
的源代码,因为该功能已内置在vim中。 / p>
如果您在vim内更改了.vimrc
(为什么还要使用其他编辑器?),则可以通过键入:source ~/.vimrc
来使它在不退出vim的情况下获取并生效。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。