Ярлык для открытия файла в Vim

var header = document.querySelector('header');
var headerHeight = header.offsetHeight;
var sidebar = document.querySelector('#sidebar');

document.addEventListener('scroll', function(e) {
  // Check how many pixels have been scrolled
  var scrollTop = document.documentElement.scrollTop;
  // offset should never be higher than the header
  scrollTop = scrollTop > headerHeight ? headerHeight : scrollTop;
  // Calculate the final offset to apply to the height
  var offsetTop = headerHeight - scrollTop;

  sidebar.style.height = 'calc(100% - ' + offsetTop + 'px)';
});
html,
body {
  height: 100%;
  margin: 0;
}

header {
  width: auto;
  height: 100px;
  background-color: indianred;
}

#sidebar {
  width: 20%;
  height: calc(100% - 100px);
  position: fixed;
  bottom: 0;
  background-color: gray;
  float: left;
  overflow-y: auto;
}

#sidebar h2 {
  margin: 0;
}

section {
  width: 80%;
  float: right;
  background-color: antiquewhite;
}
<header></header>
<div id="sidebar">
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Hi there</h2>
  <h2>Soon done</h2>
  <h2>Done!</h2>
</div>
<section>
  <h1>Main Content</h1>
  <p>This is just some text that i put inn to make this look some what of a website</p>
  <h2>Next Section</h2>
  <p>This is just some text that i put inn to make this look some what of a website</p>
  <h1>Main Content</h1>
  <p>This is just some text that i put inn to make this look some what of a website</p>
  <h2>Next Section</h2>
  <p>This is just some text that i put inn to make this look some what of a website</p>
  <h1>Main Content</h1>
  <p>This is just some text that i put inn to make this look some what of a website</p>
  <h2>Next Section</h2>
  <p>This is just some text that i put inn to make this look some what of a website</p>
  <h1>Main Content</h1>
  <p>This is just some text that i put inn to make this look some what of a website</p>
  <h2>Next Section</h2>
  <p>This is just some text that i put inn to make this look some what of a website</p>
  <h1>Main Content</h1>
  <p>This is just some text that i put inn to make this look some what of a website</p>
  <h2>Next Section</h2>
  <p>This is just some text that i put inn to make this look some what of a website</p>
  <h1>Main Content</h1>
  <p>This is just some text that i put inn to make this look some what of a website</p>
  <h2>Next Section</h2>
  <p>This is just some text that i put inn to make this look some what of a website</p>
</section>

123
задан Palec 25 June 2015 в 11:35
поделиться

16 ответов

Я недавно влюбился fuzzyfinder.vim ... :-)

: FuzzyFinderFile позволит Вам открыть файлы путем введения частичных имен или шаблонов.

59
ответ дан 24 November 2019 в 01:11
поделиться

FuzzyFinder был упомянут, однако я люблю textmate как поведение плагин FuzzyFinderTextmate, который расширяет поведение включать весь subdirs.

Удостоверяются, что Вы используете версию 2.16 fuzzyfinder.vim - старшие версии повреждают плагин.

1
ответ дан 24 November 2019 в 01:11
поделиться
  • можно использовать (установите wildmenu)
  • можно использовать вкладку для автоматического заполнения имен файлов
  • , можно также использовать соответствие, например: e p*.dat или что-то как этот (как в старой' DOS)
  • Вы могли также: обзор подтверждает e (для графического окна)

  • , но необходимо также, вероятно, указать, какую версию энергии Вы используете, и как та вещь в emacs работает. Возможно, мы могли найти Вас точной альтернативой энергии.

1
ответ дан 24 November 2019 в 01:11
поделиться

Я знаю три плагина, которые разрешают открывать файлы, автозавершение поддержки, и не требуют для ввода имени полного пути файла (файлов) для открытия (как долго, поскольку файлы находятся под одним из каталогов от &path опция энергии):

В последнее время, я видел другой плагин с подобной функцией, но я не помню имя.

Скоро: находка является вероятным автозавершением поддержки - исправляет по этой теме, циркулируют в vim_dev списке рассылки в эти дни.

3
ответ дан 24 November 2019 в 01:11
поделиться

При редактировании файлов в общем каталоге Вы можете :cd к тому каталогу, затем использовать :e на просто имени файла.

, Например, а не:

:e /big/long/path/that/takes/a/while/to/type/or/tab/complete/thingy.rb
:sp /big/long/path/that/takes/a/while/to/type/or/tab/complete/other_thingy.c
:vs /big/long/path/that/takes/a/while/to/type/or/tab/complete/one_more_thingy.java

можно сделать:

:cd /big/long/path/that/takes/a/while/to/type/or/tab/complete/
:e thingy.rb
:sp other_thingy.c
:vs one_more_thingy.java

Или, если у Вас уже есть файл в желаемом открытом каталоге, можно использовать % сокращение от текущего имени файла и обрезать его к текущему каталогу с :h модификатор (:help :_%:):

:e /big/long/path/that/takes/a/while/to/type/or/tab/complete/thingy.rb
:cd %:h
:sp other_thingy.c
:vs one_more_thingy.java

И, как другие сказали, Вы можете полные вкладкой имена файлов на экс-строке (см. :help cmdline-completion для больше).

4
ответ дан 24 November 2019 в 01:11
поделиться

Если у Вас есть теги (и Вы должны), можно открыть файл из командной строки только под названием класс или метод или функция c с "энергией-t DBPlaylist", и в энергии с ": тег ShowList".

4
ответ дан 24 November 2019 в 01:11
поделиться

Мне нравится: FuzzyFinderTextMate (или Ctrl + F ) на моей установке. См. http://weblog.jamisbuck.org/2008/10/10/coming-home-to-vim

10
ответ дан 24 November 2019 в 01:11
поделиться

Я использую несколько ярлыков в своем .vimrc файле (точный синтаксис ниже).

Они основаны на том, что в 90% случаев, я хочу открыть другой файл в том же каталоге как файл, который я в настоящее время редактирую, или в каталоге, который очень близок в иерархии к тому отредактированному файлу.

Вот то, что действительно делают команды:

,cd: Измените текущий рабочий каталог на каталог, в котором находится текущий файл, который Вы редактируете.

,e: Открывает файл с текущим рабочим каталогом, уже заполненным, таким образом, необходимо указать только [1 127] имя файла.

Помещенный они в Ваш .vimrc:

map ,e :e <C-R>=expand("%:p:h") . "/" <CR>

map ,cd :cd %:p:h <CR>

Вот последовательность событий:

<час>
  1. Вы редактируете файл, названный test.java в "/home/prog"
  2. ,cd->, Текущий рабочий каталог теперь становится "/home/prog"
  3. ,e->, Расширяется до ": e/home/prog" так, чтобы можно было просто заполнить имя файла, скажите test.h.
<час>
  1. ,e-> Расширяется до ": e / домой"
  2. tab-> Цикл через подкаталоги / домой
  3. enter-> cd к каталогу, который Вы хотите, говорит, что/home/prog
  4. ,e-> Расширяется до ": e/home/prog"
9
ответ дан 24 November 2019 в 01:11
поделиться

если я не пропускаю что-то: e имя файла самый быстрый способ, которым я нашел.

можно использовать вкладку для автоматического заполнения имени файла также.

12
ответ дан 24 November 2019 в 01:11
поделиться

Можно искать файл в текущем пути при помощи **:

:tabe **/header.h

вкладка Hit для наблюдения различных завершений, если существует больше чем одно соответствие.

25
ответ дан 24 November 2019 в 01:11
поделиться

То, что я обычно делаю, e . (электронная точка пространства), которая дает мне доступный для просмотра текущий каталог - затем я могу / - искать фрагменты имени, точно так же, как нахождение слова в текстовом файле. Я нахожу это обычно достаточно хорошим, простым и быстрым.

140
ответ дан 24 November 2019 в 01:11
поделиться

Используйте вкладки, они работают при вводе путей к файлам в режиме Escape энергии!

6
ответ дан 24 November 2019 в 01:11
поделиться

Я установил FuzzyFinder. Однако, ограничением является то, что он находит файлы только в текущем dir. Одним из обходных путей является добавление FuzzyFinderTextmate. Однако, основываясь на документах и комментариях, это не работает надежно. Вам нужна правильная версия FuzzyFinder и ваша копия Vim для компиляции с поддержкой Ruby.

Другой обходной путь, который я сейчас пытаюсь найти, это открыть все файлы, которые мне, скорее всего, понадобятся в начале сессии редактирования. Например, откройте все файлы в ключевых каталогах...

:args app/**
:args config/**
:args test/**
etc...

(Это значит, что, возможно, я бы открыл десятки файлов, однако, пока это, кажется, работает нормально)

После этого, я могу использовать FuzzyFinder в буферном режиме, и он будет действовать как ярлык команды-o TextMate's /. ...

:FuzzyFinderBuffer
0
ответ дан 24 November 2019 в 01:11
поделиться

Это не совсем то, что вы ищете, но во многих случаях это хорошо (хотя и не во всех ).

Если вы открываете VIM и в буфере есть имя файла, вы можете навести курсор на это имя файла и набрать g f . Это открывает файл, имя которого находится под курсором в том же буфере. Это то же самое, что и

: e CTRL + r CTRL + w

4
ответ дан 24 November 2019 в 01:11
поделиться

: найти - еще один вариант.

Я открываю vim из корня моего проекта и устанавливаю путь туда.

Затем я могу открывать файлы, расположенные в любом месте дерева, используя:

:find **/filena< tab >

Вкладка автоматически заполняется при различных совпадениях. ( ** указывает ему рекурсивный поиск по пути).

33
ответ дан 24 November 2019 в 01:11
поделиться

Также есть команда-t, которую я считаю лучшей из всех (и я перепробовал их все). Установить его несложно, но после того, как он установлен, им можно только мечтать.

https://wincent.com/products/command-t/

8
ответ дан 24 November 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: