Ниже приведен пример передачи параметров в документ fxml через пространство имен.
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.VBox?>
<VBox xmlns="http://javafx.com/javafx/null" xmlns:fx="http://javafx.com/fxml/1">
<BorderPane>
<center>
<Label text="$labelText"/>
</center>
</BorderPane>
</VBox>
Определить значение External Text
для переменной пространства имен labelText
:
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;
import java.io.IOException;
public class NamespaceParameterExampleApplication extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws IOException {
final FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("namespace-parameter-example.fxml"));
fxmlLoader.getNamespace()
.put("labelText", "External Text");
final Parent root = fxmlLoader.load();
primaryStage.setTitle("Namespace Parameter Example");
primaryStage.setScene(new Scene(root, 400, 400));
primaryStage.show();
}
}
Почему бы не использовать вкладки (введенные в Vim 7)? Вы можете переключаться между вкладками с :tabn
и :tabp
, с помощью :tabe <filepath>
вы можете добавить новую вкладку; и с помощью регулярных :q
или :wq
вы закроете вкладку. Если вы сопоставляете :tabn
и :tabp
с клавишами F7 / F8, вы можете легко переключаться между файлами.
Если таких файлов не так много или у вас нет Vim 7, вы также можете разделить свои экран в нескольких файлах: :sp <filepath>
. Затем вы можете переключаться между splitscreens с помощью Ctrl + W, а затем клавиши со стрелкой в направлении, которое вы хотите переместить (или вместо клавиш со стрелками, w для следующего и W для предыдущего экрана splitscreen)
Некоторые ответы в этой теме предлагают использовать вкладки, а другие предлагают использовать буфер для выполнения того же самого. Вкладки и буферы разные. Я настоятельно рекомендую вам прочитать эту статью Сумасшествие Vim Tab - Буферы против вкладок Вот хорошая сводка, которую я вытащил из статьи: Резюме:
Я использую команды буфера - :bn
(следующий буфер), :bp
(предыдущий буфер) :buffers
(список открытых буферов) :b<n>
(открыть буфер n) :bd
(удалить буфер). :e <filename>
просто откроется в новый буфер.
Я использую несколько буферов, которые скрыты в моем файле ~/.vimrc
.
Скрипт проводника мини-буфера тоже хорош, чтобы получить хороший компактный список ваших буферов. Затем :b1
или :b2
... чтобы перейти в соответствующий буфер или использовать проводник мини-буфера и выполнить вкладку через буферы.
:b <partial filename><tab>
plus set wildmenu
в вашем .vimrc
хорошо работает, когда вы открыли тонны буферов. Затем вы просто частичный матч и прокрутите те, которые он находит. В других приличных редакторах у вас есть нечеткое обнаружение, но обычно вы не можете ограничить это нечеткое обнаружение только файлами, которые вы открыли.
– icc97
1 September 2017 в 09:36
, если вы используете osx и хотите, чтобы вы могли нажимать на ваши вкладки, используйте MouseTerm и SIMBL (взятые из здесь ). Кроме того, проверьте это обсуждение .
Чтобы добавить в список args
:
:argadd
Чтобы удалить из списка args
:
:argdelete
В вашем примере вы можете использовать :argedit
test.pl добавить test.pl в список args
и отредактировать файл за один шаг.
:help args
дает намного больше деталей и расширенного использования
Большинство ответов в этом потоке используют простые команды vim, которые, конечно, прекрасны, но я думал, что предоставил бы исчерпывающий ответ, используя комбинацию плагинов и функций, которые я нахожу особенно полезными (по крайней мере некоторые из этих советов пришли из Советы по навигации по файлам Gary Bernhardt ):
<leader>
. Я рекомендую назначить <leader>
пробелу: nnoremap <leader><leader> <c-^>
<leader>a
для быстрого доступа. 2
в качестве основного метода поиска файлов. Это действительно замедлит вас. Я использую привязку <leader>ff
. Этого должно быть достаточно для поиска и открытия файлов. Оттуда, конечно, используйте горизонтальные и вертикальные расщепления. Что касается расколов, я считаю, что эти функции особенно полезны:
set winwidth=84
set winheight=5
set winminheight=5
set winheight=999
nnoremap <C-w>v :111vs<CR>
nnoremap <C-w>s :rightbelow split<CR>
set splitright
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>
Добавление другого ответа, поскольку это не покрывается никаким ответом
Чтобы изменить все буферы на tab
.
:tab sball
откроет все буферы на вкладку Посмотреть. Затем мы можем использовать любые команды, связанные с вкладкой
gt or :tabn " go to next tab
gT or :tabp or :tabN " go to previous tab
, в :help tab-page-commands
.
Мы можем проинструктировать vim открыть в виде табуляции несколько файлов vim -p file1 file2
. alias vim='vim -p'
будет полезна. То же самое можно добиться и после автокоманды в ~/.vimrc
au VimEnter * if !&diff | tab all | tabfirst | endif
В любом случае, чтобы ответить на вопрос: добавить в список arg: arga file
,
Чтобы удалить из списка arg: argd pattern
Еще в :help arglist
Я сделал очень простое видео , показывающее рабочий процесс, который я использую. В основном я использую плагин Ctrl-P Vim, и я отобразил навигацию буфера на клавишу Enter.
Таким образом, я могу нажать Enter в нормальном режиме, посмотреть список открытых файлов (отображается в маленьком новом окне в нижней части экрана), выберите файл, который я хочу изменить, и снова нажмите Enter. Чтобы быстро найти несколько открытых файлов, просто введите часть имени файла, выберите файл и нажмите Enter.
У меня не так много файлов, открытых в видео, но это становится невероятно полезным, когда вы начинаете
Поскольку плагин сортирует буферы с использованием заказа MRU, вы можете просто нажать Enter дважды и перейти к самому последнему файлу, который вы редактировали.
После плагин установлен, единственная конфигурация, в которой вы нуждаетесь:
nmap <CR> :CtrlPBuffer<CR>
Конечно, вы можете сопоставить ее с другим ключом, но я считаю, что отображение будет очень удобным.
Вы можете захотеть использовать глобальные отметки Vim .
Таким образом, вы можете быстро отскакивать между файлами и даже до отмеченного места в файле. Кроме того, ключевые команды короткие: 'C
возвращает меня к коду, с которым я работаю, 'T
принимает меня к модульному тесту, с которым я работаю.
Когда вы меняете места, метки тоже быстрые: mC
отмечает новое кодовое пятно, mT
отмечает новое тестовое место.
Я использую следующее: это дает вам множество функций, которые вы ожидаете иметь в других редакторах, таких как Sublime Text / Textmate
.vimrc
: let g:airline#extensions#tabline#enabled = 1
. Это автоматически отображает все буферы в виде заголовков табуляции, когда у вас нет открываемых страниц. set wildmenu
в вашем .vimrc
, а затем, когда вы вводите :b <file part>
+ Tab для буфера, вы получите список возможных буферов, которые вы можете использовать стрелки влево / вправо для прокрутки :Explore
, но облегчает работу с ним. Вы просто набираете -
, чтобы открыть проводник, который является тем же самым ключом, что и вверх по каталогу в проводнике. Делает навигацию быстрее (однако с fzf я редко использую это) :cdo
для результатов поиска и замены Если вы собираетесь использовать несколько буферов, я думаю, что самое главное - установить скрытые так, чтобы они позволяли вам переключаться с буферами, даже если у вас есть несохраненные изменения в том, что вы уходите.
Я использую командную строку и git много, поэтому у меня есть этот псевдоним в моем bashrc:
alias gvim="gvim --servername \$(git rev-parse --show-toplevel || echo 'default') --remote-tab"
Это откроет каждый новый файл на новой вкладке в существующем окне и создаст один окно для каждого репозитория git. Итак, если вы откроете два файла из репо A и 3 файла из репо B, вы получите два окна: один для репо A с двумя вкладками и один для репо B с тремя вкладками.
Если файл, который вы открываете, не содержится в git repo, он перейдет в окно по умолчанию.
Для перехода между вкладками я использую эти сопоставления:
nmap <C-p> :tabprevious<CR>
nmap <C-n> :tabnext<CR>
Чтобы открыть несколько файлов на как только вы должны объединить это с одним из других решений.
Если использовать только встроенные команды vim, лучшим из которых я когда-либо видел для переключения между несколькими буферами, является следующее:
nnoremap <Leader>f :set nomore<Bar>:ls<Bar>:set more<CR>:b<Space>
Он отлично сочетает команды :ls
и :b
- перечисление всех открытых буферов и ожидание ввода команды для переключения буфера.
Учитывая приведенное выше сопоставление в vimrc, после ввода <Leader>f
,
23
, чтобы перейти в буфер 23, введите #
, чтобы перейти в альтернативный буфер / MRU, введите частичное имя файла, затем введите <Tab>
или <C-i>
для автозаполнения, или просто <CR>
или <Esc>
, чтобы оставаться в текущем буфере Снимок вывода для вышеуказанного отображения клавиш:
:set nomore|:ls|:set more
1 h "script.py" line 1
2 #h + "file1.txt" line 6 -- '#' for alternative buffer
3 %a "README.md" line 17 -- '%' for current buffer
4 "file3.txt" line 0 -- line 0 for hasn't switched to
5 + "/etc/passwd" line 42 -- '+' for modified
:b '<Cursor> here'
В приведенном выше снимке:
%a
для тока, h
для скрытых, #
для предыдущего, пустого для не было переключено. +
для модифицированного. Кроме того, я настоятельно рекомендую set hidden
. См. :help 'hidden'
.
:b
и :ls
много, но независимо. Я думаю, что это становится менее полезным, если у вас больше буферов на странице, но тогда вы все равно можете вернуться к :b
– icc97
1 September 2017 в 08:37
nnoremap <leader>f :ls<cr>:b<space>
, что может вызвать проблемы с командой «больше», хотя
– icc97
21 September 2017 в 12:14
set more
материал имеет значение только при открытии большого количества файлов (более одной страницы), например vim /usr/include/*
, хотя это менее полезно.
– qeatzy
22 September 2017 в 07:01
Vim (но не оригинальный Vi!) имеет вкладки, которые я нахожу (во многих контекстах) выше буферов. Вы можете сказать :tabe [filename]
, чтобы открыть файл на новой вкладке. Переключение между вкладками осуществляется щелчком по вкладке или комбинациями клавиш [ n ] gt
и gT
. Графический Vim даже имеет графические вкладки.
vim -p dir/*
. Максимальный размер вкладки - 10, но вы можете изменить его в настройке ~/.vimrc
tabpagemax
на другое значение.
– Campa
18 June 2013 в 13:26
Я использую тот же файл .vimrc для GVim и командной строки vim. Я стараюсь использовать вкладки в GVim и буферах в командной строке vim, поэтому у меня установлен мой .vimrc, чтобы упростить работу с обоими из них:
" Movement between tabs OR buffers
nnoremap L :call MyNext()<CR>
nnoremap H :call MyPrev()<CR>
" MyNext() and MyPrev(): Movement between tabs OR buffers
function! MyNext()
if exists( '*tabpagenr' ) && tabpagenr('$') != 1
" Tab support && tabs open
normal gt
else
" No tab support, or no tabs open
execute ":bnext"
endif
endfunction
function! MyPrev()
if exists( '*tabpagenr' ) && tabpagenr('$') != '1'
" Tab support && tabs open
normal gT
else
" No tab support, or no tabs open
execute ":bprev"
endif
endfunction
Это сгибает существующие сопоставления для H и L, но он делает переключение между файлами очень быстрым и легким. Просто нажмите «H» для следующего и «L» для предыдущего; независимо от того, используете ли вы вкладки или буферы, вы получите ожидаемые результаты.
Мой способ эффективно работать с несколькими файлами - использовать tmux.
Позволяет разбивать окна по вертикали и по горизонтали, например:
[/g0]
У меня это работает на моих машинах mac и linux, и я нахожу его лучше, чем встроенный механизм переключения окон, который предоставляется (на компьютерах Mac). Я считаю, что переход проще и только с tmux я смог получить «новую страницу в том же текущем каталоге», работающую на моем mac (несмотря на то, что, кажется, есть варианты для открытия новых панелей в том же каталоге), который удивительно критическая часть. Новейшее новое место в текущем месте удивительно полезно. Метод, который делает новые панели с теми же ключевыми комбо для обеих ОС, имеет для меня решающее значение и бонус для всех для будущей личной совместимости. Помимо нескольких панелей tmux, я также попытался использовать несколько вкладок, например. [/g1] и несколько новых окон, например. [/g2], и в конечном итоге я обнаружил, что для меня наиболее полезны несколько панелей tmux. Я очень «визуальный» и люблю держать свои различные контексты прямо передо мной, соединенными вместе как панели.
tmux также поддерживает горизонтальные и вертикальные панорамы, которые более старые screen
не использовали (хотя mac itm2, похоже, поддерживает его, но опять же, текущая настройка каталога для меня не работала). tmux 1.8
Я бы предложил использовать плагин
NERDtree
Вот ссылка github с инструкциями.
Я использую vim-plug как менеджер плагинов, но вы также можете использовать Vundle.
Вы можете быть абсолютным сумасшедшим и псевдоним vim
до vim -p
, добавив в свой .bashrc
:
alias vim="vim -p"
Это приведет к открытию нескольких файлов из оболочки во вкладках, без необходимости вызывать :tab ball
изнутри vim.
Здесь много ответов! То, что я использую, не изобретая колесо, - самые известные плагины (которые не собираются умирать в ближайшее время и используются многими людьми), чтобы быть очень быстрыми и вызывающими.
UPDATE : Недавно я использую dyng / ctrlsf.vim для поиска в контекстном представлении (например, Sublime search), и я переключил двигатель от ag до ripgrep. Производительность невыполнима.
Чтобы просмотреть список текущих буферов, я использую:
:ls
Чтобы открыть новый файл, я используйте
:e ../myFile.pl
с расширенным завершением вкладки (поставьте set wildmenu
в .vimrc
).
Примечание: вы также можете использовать :find
, который будет искать набор путей для вас, но сначала вам нужно настроить эти пути.
Для переключения между всеми открытыми файлами я использую
:b myfile
с :b#
. :b#
выбирает последний посетивший файл, поэтому вы можете использовать его для быстрого переключения между двумя файлами.
Ctrl-W s
и Ctrl-W v
для разделения текущего окна по горизонтали и по вертикали. Вы также можете использовать :split
и :vertical split
(:sp
и :vs
)
Ctrl-W w
для переключения между открытыми окнами и Ctrl-W h
(или j
или k
или l
) для перемещения по открытым окнам.
Ctrl-W c
, чтобы закрыть текущее окно, и Ctrl-W o
, чтобы закрыть все окна, кроме текущего.
Запуск vim с помощью -o
или -O
флаг открывает каждый файл в своем собственном расколе.
При всем этом мне не нужны вкладки в Vim, и мои пальцы находят мои буферы, а не мои глаза.
Примечание: если вы хотите, чтобы все файлы переходили в один экземпляр Vim, запустите Vim с опцией --remote-silent
.
:b#
, где # - индекс файла в буфере, а не только последний посетитель
– Brian
10 October 2013 в 16:54
:b
- очень мощная команда, потому что она может принимать как номера буфера, так и имена буферов в качестве аргументов. Что еще? Он также поддерживает выполнение табуляции в любой части имени файла. Скажем, у вас есть foo.txt open в буфере 2, вы можете набрать :b 2<Enter>
или :b foo.txt
или :b oo<Tab><Enter>
, чтобы отредактировать этот файл. Да, последний будет завершать «oo» до «foo.txt», когда вы нажимаете & lt; Tab & gt ;.
– Susam Pal
1 May 2014 в 20:45
nnoremap gb :ls<cr>:b<space>
. Когда я набираю gb
в командном режиме, он перечисляет мои открытые буферы и типы :b
, готовые для начала ввода имени / номера буфера.
– nkorth
27 February 2015 в 19:21
Такие вещи, как :e
и :badd
, будут принимать только один аргумент, поэтому следующее будет терпеть неудачу
:e foo.txt bar.txt
:e /foo/bar/*.txt
:badd /foo/bar/*
Если вы хотите добавить несколько файлов из vim, используйте arga[dd]
:arga foo.txt bar.txt
:arga /foo/bar/*.txt
:argadd /foo/bar/*
Когда я начал использовать VIM, я не понимал, что вкладки должны использоваться как разные макеты окон, а буфер служит ролью для множественного редактирования / переключения файлов между собой. На самом деле в начале вкладки даже не были до версии v7.0, и я только что открыл один VIM внутри вкладки терминала (я использовал гном-терминал в данный момент) и переключался между вкладками, используя alt + numbers, так как я думал, используя команды вроде : buffers,: bn и: bp были слишком много для меня. Когда был выпущен VIM 7.0, мне было проще управлять большим количеством файлов и переключаться на него, но в последнее время я просто понял, что буферы всегда должны быть в пути, если только одно: вам нужно настроить его, чтобы он работал правильно.
Итак, я попробовал vim-авиакомпанию и включил визуальную верхнюю вкладку-буферную панель, но у графика возникла проблема с моим iTerm2, поэтому я попробовал пару других, и кажется, что MBE работает лучше для меня. Я также устанавливаю shift + h / l как ярлыки, так как исходные (перемещение к голове / хвосту текущей страницы) для меня не очень полезны. map <S-h> :bprev<Return>
map <S-l> :bnext<Return>
Кажется, что еще проще, чем gt и gT, и: e проще, чем: tabnew. Я нахожу: bd не так удобен, как: q хотя (у MBE есть некоторые проблемы с ним), но я могу жить со всеми файлами в буфере, которые я думаю.
попробуйте следующие карты для удобства редактирования нескольких файлов
"split windows
nmap <leader>sh :leftabove vnew<CR>
nmap <leader>sl :rightbelow vnew<CR>
nmap <leader>sk :leftabove new<CR>
nmap <leader>sj :rightbelow new<CR>
"перемещение
nmap <C-j> <C-w>j
nmap <C-k> <C-w>k
nmap <C-l> <C-w>l
nmap <C-h> <C-w>h
:ls
для списка открытых буферов
:bp
Предыдущий буфер :bn
следующий буфер :bn
(n
число) переместитесь в n-й буфер :b <filename-part>
с помощью клавиши табуляции, обеспечивающей автозаполнение (awesome !!) [/ g3] В некоторых версиях vim , bn
и bp
на самом деле bnext
и bprevious
соответственно.
Если вы находитесь в обычном режиме, используйте ^
, чтобы переключиться на последний файл, над которым вы работали.
Плюс, вы может сохранять сеансы vim
:mksession! ~/today.ses
Вышеприведенная команда сохраняет текущие буферы и настройки открытых файлов на ~/today.ses
. Вы можете загрузить этот сеанс с помощью
vim -S ~/today.ses
Не беспокоиться о том, где вы остановились вчера. ;)
"
, чтобы перейти к тому месту, где вы были в файле в последний раз.
– Chromium
28 May 2018 в 05:15
ZZ
вместо:wq
(точно так же, как обычно сохранить и закрыть) – Andreas Grech 5 May 2010 в 15:34gt
переходит к следующей вкладке, аgT
переходит на предыдущую вкладку. – Dean 9 December 2011 в 00:07-p
для открытия нескольких файлов в закладках из командной строки. Например,gvim -p main.pl maintenance.pl
откроет эти два файла на вкладках. – Matthew Strawbridge 25 November 2012 в 12:06