Вы используете объект, содержащий ссылку нулевого значения. Таким образом, он дает пустое исключение. В примере строковое значение равно null, и при проверке его длины произошло исключение.
Пример:
string value = null;
if (value.Length == 0) // <-- Causes exception
{
Console.WriteLine(value); // <-- Never reached
}
Ошибка исключения:
Необработанное исключение:
System.NullReferenceException: ссылка на объект не установлена в экземпляр объекта. в Program.Main ()
blockquote>
Хороший вопрос! Я думал о чем-то вроде:
nmap <c-s-t> :vs<bar>:b#<CR>
Он должен работать так, как вы хотите.
:vs#
будет разделять текущее окно по вертикали и открывать альтернативный файл. Это так просто, что вам не нужно привязывать его к ключу.
Я получил это для работы с помощью bufmru.vim
!
Следующая команда, :ReopenLastTab
, переразделяет последний открытый буфер:
command ReopenLastTab execute "vsplit" bufname(g:bufmru_bnrs[1])
Я установил bufmru с помощью Vundle
, как показано ниже, но, конечно же, вы можете установить его любым способом.
#.vimrc
" Install bufmru with Vundle
Plugin 'vim-scripts/bufmru.vim'
let g:bufmru_switchkey = "<c-t>" " I never use this: the default is Space, but I don't need to use it so set it to something I don't care about.
Нет необходимости в SHIFT:
nmap <c-t> :vs<bar>:b#<CR>
В сочетании с CTRL символы обрабатываются одинаково с помощью vim, заглавные или нет.
На самом деле также в ответе перед, CTRLn и CTRLSHIFTN должны работать.