VIM: Як я можу відкрити файл праворуч як vsplit з лівої панелі NerdTree?


Відповіді:


86

Є sкоманда, але вона відкриває файл, розділений ліворуч від поточного буфера. Хоча ви можете натиснути Ctrl+, W rщоб поміняти вікна тоді.


3
Це нормально, але якщо я хочу відкрити інший файл, набравши s, тоді я отримую ще одне розділене вікно, але я хочу замінити старіше розділене вікно поточним відкритим файлом, як я можу це зробити?
— незручно

5
Здається, після додавання set splitright, як запропонував @PrinceGoulash, sу файлі всередині NerdTree відкриється розділення праворуч, не потрібно робити це Ctrl-W r. Якщо я правильно вас розумію, якщо ви хочете дотримуватися лише двох вертикально розділених вікон, ви можете перейти до старішого вікна та відкрити новий файл усередині нього за допомогою NerdTree, просто натиснувши Enter.
— grimgav

Ні, я намагаюся сказати, що є два vsplit вікна, ліворуч меню nerdtree, якщо я натисну "s", то воно потрапить у праву сторону. більше не буде відкритого вікна.
— незручно

@guru Тоді ви хочете "відкрити" нове вікно, а не "розділити" його. Вікно завжди відкривається / замінює останній вибраний буфер. На жаль, це, швидше за все, буде лівий з двох ваших відкритих. Не ідеально, але одним із варіантів може бути обертання вікон навколо Ctrl+W R, а потім відкрити файл і повернути назад.
— JHannes

159

Щоб vsplitпоставити новий буфер праворуч від поточного буфера:

set splitright

Подібним чином, щоб зробити splitновий буфер помістити нижче поточного буфера:

set splitbelow

Однак я не пробував цього з NerdTree.


3
добре, але як я можу відкрити vsplited файл, замінюючи старий?
— незручно

1
@shibly Якщо ви splitrightвстановили, то ви можете вийти з файлу, який зараз знаходиться праворуч vsplit newfilename, і який розмістить новий файл там, де був старий. Ви також можете зробити ті , в одному рядку , як це: q | vsplit newfilename. Це передбачає, що файл праворуч є активним.
— SunSparc

1
щойно перевірений, сплітрейт добре працює з nerdtree. Зверніть увагу, що це зробить усі подальші розколи горизонтальними, а не вертикальними, якщо хтось не використовуєvsplit
— Дуайт Спенсер,

3

Це трохи зламати, але як я це роблю, це таке:

  1. Помістіть курсор у вікно, в яке я хочу відкрити файл
  2. Попадання <leader>n<leader>n(це закриває NERDtree, а потім знову відкриває його курсором у NERDtree)
  3. Виберіть файл

У моїй системі це відкриває його в останньому вікні, в якому я був, якщо файл ще не відкритий на моєму екрані. Почніть з вікна, у якому ви хочете відкрити файл

Почніть з вікна, у яке ви хочете відкрити файл.

Після <code> <leader> n <leader> n </code> ви повернетесь до NERDTree

Натисніть, <leader>n<leader>nщоб закрити та знову відкрити NERDTree

Виберіть файл, який ви хочете відкрити!

Виберіть потрібний файл!

Швидке C-w =повернення ваших вікон до належних пропорцій.


відмінне рішення. від <leader>nвас означає <C-n>?
— Хафенкраніч

3

Не впевнений, чи хтось ще бореться з цим, але ось як я з цим справлявся.

Можна використовувати

:ls 

для переліку доступних буферів. Що може виглядати приблизно так:

1 "foo.txt"
2 "blame_the_user.java"

:b1 щоб вибрати foo.txt

:b2 для звинувачення_користувача.java

Цей метод можна зробити з будь-якої установки вікна за допомогою :spабо :vs.

Спершу відкрийте буфери, які потрібно розділити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.