Содержание
12 горячих клавиш для работы с окнами в Windows
8 апреля 2020
Новости
Windows
Все ли из них вы знали?
Управлять окнами с помощью мыши в Windows 10 несложно, но чтобы делать это быстрее, повышая свою продуктивность, лучше использовать горячие клавиши. Вот самые полезные:
- Alt + Tab. Нажмите и удерживайте Alt, потом нажимайте Tab. На появившейся панели появятся превью открытых у вас окон, активное будет меняться по нажатию Tab.
- Ctrl + Alt + Tab. Переключатель окон автоматически закрывается, когда вы отпускаете Alt, но эта комбинация делает его постоянно открытым. Он исчезнет, только когда вы выберете нужное окно клавишами-стрелками и нажмёте Enter.
- Win + Tab. Выводит на экран так называемую «Временную шкалу», где собраны все недавно открытые вами окна и документы. Здесь же можно создавать новые рабочие столы и сортировать по ним программы. Выбирать окна можно как мышью, так и стрелками с Enter.
- Win + ↓. Сворачивает текущее окно. Если окно прикреплено к краю экрана, оно свернётся сначала в четверть. Повторное нажатие свернёт его окончательно.
- Win + ↑. Разворачивает текущее окно. Если окно прикреплено к краю экрана, оно свернётся в четверть и перенесётся наверх.
- Win + Shift + ↑. Разворачивает текущее окно, но только по высоте, не ширине.
- Win + ← или →. Переносит окно к левому или правому краю экрана соответственно.
- Alt + Space. Открывает меню окна. С ним можно не только сворачивать и закрывать окна, но и менять размер и перемещать без помощи мыши. Нажмите Alt + Space, выберите клавишами «Переместить», нажмите Enter и двигайте окно стрелками. Этот приём сработает, даже если окно оказалось за пределами экрана.
- Win + M. Сворачивает все окна.
- Win + D. Сворачивает вообще все окна. Работает даже на тех, где нет кнопки свернуть.
- Win + Home. Сворачивает всё, кроме активного окна. Полезно, если нужно сосредоточиться на чём-то одном.
- Win + Shift + M. Разворачивает все окна обратно.
Теперь вы сможете комфортно работать, даже если у вас неудобный тачпад и нет мыши. Пробуйте.
Читайте также 🧐
- 12 вещей, которые нужно сделать после установки Windows 10
- 10 советов, как ускорить Windows 10
- 8 способов сделать скриншот в Windows 10
Управление окнами приложений на Mac
Когда на Mac открыто приложение или Finder, на рабочем столе отображается соответствующее окно. В каждый момент времени активно только одно приложение; название активного приложения (выделенное жирным шрифтом) и различные меню приложения отображаются в строке меню.
В некоторых приложениях, например в Safari и Почте, можно открывать несколько окон или несколько типов окон одновременно. На macOS есть несколько способов управлять открытыми окнами приложений, а также закрывать одно окно или все окна.
Перемещение, выравнивание и объединение окон приложений
На Mac можно сделать следующее.
Перемещение окна вручную. Перетяните окно за строку заголовка туда, куда нужно. Некоторые окна невозможно переместить.
Перемещение окна на одну из сторон экрана. Удерживая нажатой клавишу Option, наведите указатель на зеленую кнопку в левом верхнем углу окна, затем в появившемся меню выберите «Поместить окно в левую часть экрана» или «Поместить окно в правую часть экрана». Окно занимает выбранную сторону экрана; строка меню и Dock остаются по‑прежнему видны.
Чтобы вернуть предыдущие местоположение и размер окна, при нажатой клавише Option наведите указатель на зеленую кнопку, затем выберите «Вернуть».
Выравнивание окон. Перетяните одно окно к другому. Когда окна будут совсем рядом, они выровняются без наложения. Вы можете расположить сразу несколько окон друг рядом с другом.
Чтобы сделать прилегающие окна одного размера, потяните за край окна, размер которого нужно изменить. Когда его край приблизится к краю соседнего окна, края выровняются и перестанут двигаться.
Объединение окон приложения в одном окне со вкладками. В приложении выберите пункт меню «Окно» > «Объединить все окна». Если для приложения доступно несколько видов окон (например, для приложения «Почта» доступны окно просмотра и окно нового письма), можно объединять только окна активного типа.
Чтобы снова сделать вкладку отдельным окном, выберите эту вкладку, затем выберите меню «Окно» > «Переместить вкладку в новое окно» или просто перетяните вкладку за пределы окна. См. раздел Использование вкладок в окнах.
Разворачивание и сворачивание окон приложений
На Mac можно выполнять следующие действия с окнами.
Разворачивание окна. Удерживая нажатой клавишу Option, нажмите зеленую кнопку в левом верхнем углу окна приложения. Чтобы вернуться к предыдущему размеру окна, еще раз нажмите эту кнопку при нажатой клавише Option.
Либо дважды нажмите строку заголовка приложения, чтобы развернуть окно (если в разделе настроек «Рабочий стол и Dock» для этого действия задано увеличение масштаба).
Сворачивание окна. Нажмите желтую кнопку сворачивания в левом верхнем углу окна или нажмите сочетание клавиш Command-M.
В разделе настроек «Рабочий стол и Dock» можно настроить сворачивание окна двойным нажатием его заголовка.
Размеры большинства окон можно изменять вручную. Перетяните или дважды нажмите верхний, нижний или боковой край окна, чтобы расширить окно в соответствующую сторону.
Быстрое переключение между окнами приложений
На Mac можно сделать следующее.
Переключение на предыдущее приложение. Нажмите сочетание клавиш Command-Tab.
прокрутка всех открытых приложений: Удерживая клавишу Command, нажмите клавишу Tab, затем выберите нужное приложение, нажимая клавиши со стрелками влево и вправо. Отпустите клавишу Command.
Если, пролистывая перечень приложений, Вы передумаете переходить к другому приложению, нажмите Esc (Escape) или точку и отпустите клавишу Command.
Закрытие одного окна или всех окон приложения
На Mac можно сделать следующее.
Закрытие одного или всех окон приложения не приводит к завершению этого приложения. Небольшая точка под значком приложения в Dock показывает, что приложение продолжает работать. Чтобы завершить приложение, нажмите Command-Q. См. раздел Завершение приложений.
Можно скрыть активное приложение, нажав Command-H.
Используя Mission Control, можно быстро расположить открытые окна и пространства в один слой, чтобы легко найти нужное окно.
См. такжеОрганизация Рабочего стола Mac с помощью функции «Постановщик»Использование вкладок для веб‑страниц в Safari на MacОткрытие приложений на MacИспользование приложений в полноэкранном режиме на MacИспользование приложений в режиме Split View на Mac
vim — Как закрыть буфер, не закрывая окно?
спросил
Изменено
4 года, 9 месяцев назад
Просмотрено
20 тысяч раз
Обычно я открываю несколько окон и оставляю открытыми несколько буферов. Так как мой MO при исследовании буфера — использовать быстрые ярлыки для :bn
и :bp
, я хочу закрыть ненужные буферы, чтобы они не отвлекали мой просмотр буферов.
Но проблема в том, что ввод :bd
и :bw
также приводит к закрытию окна, если у меня открыто несколько окон. Как закрыть (удалить) буфер и оставить окна нетронутыми?
Решение, вдохновленное ответом @peth
:command! ЧБ :bn|:bd#
Это просто. Не очень хорошо работает только с одним открытым буфером (я получаю различное поведение в зависимости от того, как я открываю файлы), но это не большая проблема. 🙂
Это может быть больно, этот вопрос поднимается снова и снова на #vim
(Freenode) тоже.
Некоторые люди рекомендуют не удалять буферы и переключаться с помощью :b partial
вместо :bn
, что работает, но это не то, о чем вы просите.
Лучший известный мне способ сделать это — переключиться на другой буфер, а затем :bd#
, который вы, конечно, можете отобразить.
См. также Удаление буфера без закрытия окна на Vim wikia.
1
Я немного повозился с этим и наконец придумал:
:bp | сп | млрд | бд
Вот версия копирования/вставки для сопоставления клавиш:
:bp
sp bn bd
Или команда для вашего . vimrc (вызов с помощью :Bd):
команда Bd bp | сп | млрд | бд
Я протестировал его, и он стабильно работает в различных условиях. При использовании в последнем буфере он оставит вас с новым пустым буфером.
2
Окно — это окно просмотра в буфере. (См. :help window
.) У вас не может быть окна без связанного с ним буфера. Однако вы можете использовать такую команду, как :enew
, чтобы заменить текущее содержимое окна пустым буфером.
2
плагин bufkill.vim тоже работает. Мне нравится использовать его с vim-command-w для дополнительной функциональности и тонкостей (например, он закроет разделение, если это последний буфер, или закроет vim, если это последний буфер/разделение).
Вот еще одно решение:
mapo n c
Нажатие Ctrl+W, затем o тихо создаст новое окно и закроет старое окно. Курсор остается в новом окне. Есть ряд положительных эффектов:
- Сохраняются исходные размеры разделения.
- В новый раздел загружен пустой буфер.
- Исходный буфер все еще загружен, используйте :buffers для его отображения.
- Ctrl+o перемещает курсор в исходное положение в старом буфере, если вам нужно вернуться.
- Работает хорошо, даже если загружено только одно окно.
0
Я думаю, проблема в том, что большинство людей ожидают, что буфер и окно vim будут чем-то, чем они не являются.
Люди склонны думать об окне vim как об отдельном процессе, имеющем собственный список буферов, но, к сожалению, это не так. Окно vim — это только область просмотра своих буферов.
Поэтому возникает много проблем, таких как ваша проблема или проблема, связанная с тем, что разные окна совместно используют один и тот же список буферов, поэтому вы не можете редактировать буфер 1 в окне A и позволить окну B игнорировать буфер 1 в своем списке буферов.
Мое решение состоит в том, чтобы открыть два экземпляра vim, чтобы у вас было окно vim, которое вы хотите. Лучше всего работает с тайлингом WM.
1
Обычно я просто открываю меню при любом буфере. Это откроет меню на левой панели, и курсор будет там активен. Поэтому я просто переключаюсь обратно на активный буфер и удаляю буфер.
После этого я могу открыть другой файл из меню.
Мои шаги:
:Vex Ctrl + ш + ш :бд
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie
.
vim — Как закрыть буфер, не закрывая окно?
спросил
Изменено
6 месяцев назад
Просмотрено
35 тысяч раз
Многослойные представления Vim (Windows, Buffers и Tabs) немного смутили меня. Допустим, я разделил дисплей (:sp), а затем выбрал другой буфер для отображения в каждом окне. Теперь я хочу закрыть один из буферов, но я не хочу, чтобы окно закрывалось (после закрытия оно может отображать следующий буфер в списке или пустой буфер, это не имеет значения). Как я могу это сделать?
5
Я немного повозился с этим и наконец придумал:
:bp | сп | млрд | бд
Вот версия копирования/вставки для сопоставления клавиш:
:bpsp bn bd
Я протестировал его, и он стабильно работает в различных условиях. При использовании в последнем буфере он оставит вас с новым пустым буфером.
Вставьте это в ваш .vimrc:
map <лидер>q :bpsp bn bd
Перезапустите Vim или просто :source ~/.vimrc
, чтобы изменения вступили в силу. В следующий раз, когда вы захотите закрыть буфер, просто введите: \q
(если \
является вашим главным ключом)
10
Я искал это сегодня и нашел
:b#|bd#
, который изменяет текущее окно на ранее открытый буфер и удаляет/скрывает буфер, от которого вы только что переключились.
Для этого требуется как минимум два известных буфера.
Если другое окно, но текущее показывает тот же самый буфер, это все равно уничтожит разделение. Вы можете изменить все окна на ранее открытый буфер с помощью
:windo b#
Я добавил более подробную информацию о предыдущей команде, обсуждая ее сопоставление (и некоторые подводные камни) в ответ на аналогичный вопрос.
4
На вики Vim есть скрипт для этого. Я не думаю, что есть встроенный модуль, который делает то, что вы хотите.
Последняя версия vim-bufkill находится на github.
2
nmap <лидер>d :bprevious:bdelete #
Работает как надо, пока один буфер не открыт в нескольких окнах. Достаточно хорошо, если вы не хотите использовать более крупные сценарии.
Редактировать: это то, что я использую прямо сейчас: функция
! БуферУдалить() если &изменено эххл ErrorMsg echomsg "Нет записи с момента последнего изменения. Буфер не закрывается." эхол НЕТ еще пусть s: total_nr_buffers = len (filter (range (1, bufnr ('$')), 'buflisted (v: val)')) если s:total_nr_buffers == 1 bудалить echo "Буфер удален. Создан новый буфер." еще бпредыдущий bудалить # echo "Буфер удален. " конец конец конечная функция
1
Я думаю, это то, что вы ищете :буферы
вы увидите там список буферов типа
1 a.cpp 2 б.п.н. 3 c.php
если вы хотите удалить b.py из буфера
:2bw
если вы хотите удалить/закрыть все из буферов
:1,3bw
1
Для тех, кто использует NERDTree.
Я исправил это с помощью этого плагина https://github.com/jistr/vim-nerdtree-tabs и теперь я могу закрыть единственный бафф/файл/вкладку, не закрывая окно.
После установки вышеуказанного плагина поместите следующий код в мой .vimrc:
let g:nerdtree_tabs_autoclose=0
Описание переменной выше: Закрыть текущую вкладку, если в ней есть только одно окно, и это NERDTree (по умолчанию 1)
Дополнительная информация здесь: https://github.com/jistr/vim-nerdtree-tabs#configuration
Я не думаю, что это можно сделать одним выстрелом, но вы можете сделать :enew
или :ls
, чтобы вывести список ваших буферов и переключиться на другой, используя :b [номер]
.
Если у вас есть другой буфер в окне :bd #
удалит предыдущий буфер в окне, и, поскольку текущий буфер все еще существует, окно не будет закрыто.
0
Лично я использую простую версию
:bp|bd#
Переход к предыдущему буферу и удаление другого буфера (который на самом деле является исходным, откуда мы перепрыгнули).
Это делает то, что вы ожидаете в 99% случаев без каких-либо сложных сценариев.
В качестве сочетания клавиш я использую следующее
nnoremapc :bp bd#
Раньше я использовал:
:bpsp bn bd
Но в некоторых случаях он закрывал окно.
Недавно я заметил, что всегда использую это, когда работаю над проектом и мне нужно быстро открыть мой .tmux.conf
.zshrc
, прежде чем вернуться к работе.
Для этого использования я считаю, что лучше:
- переключиться обратно на буфер, над которым я ранее работал с
C-6
- введите
:bd#
, чтобы удалить предыдущий буфер (я сопоставил его так:nnoremap <лидер>d :bd#
)
Это позволяет мне контролировать буфер, к которому я возвращаюсь, и выглядит более естественно.
Просто введите :new|bd#
или вставьте это в ваш vimrc
let mapleader = " " " ЗАКРЫТЬ текущий буфер, не закрывая окно nnoremapd :new bd# " ЗАКРЫТЬ текущее окно noremap <лидер>x c
Затем нажмите (пробел + d) или (пробел + x)
РЕДАКТИРОВАТЬ: еще лучше с
nnoremapd :new bd# bp
Будет
:новый
делай что хочешь? он отредактирует новый безымянный буфер в текущем окне, оставив существующий файл открытым в любых других окнах.
1
Мое любимое решение для этого — плагин bufkill.vim (GitHub). Он предоставляет альтернативные версии различных команд :b
с префиксом, которые работают так же, как и их аналоги, но оставляют окно открытым. Они отображают все, что содержалось в последнем видимом буфере, или пустой/новый буфер, если предыдущего буфера не было.
Из документации:
Если вы хотите выгрузить/удалить/очистить буфер, используйте: :bun/:bd/:bw, чтобы также закрыть окно (команда vim), или :BUN/:BD/:BW, чтобы оставить окна нетронутыми (этот скрипт).
Чтобы «закрыть» представление, используйте :hid[e]
. Работает, если вам удалось разделить область просмотра или открыть несколько файлов. Вы не можете скрыть последний отображаемый буфер.
1 Еще один совет, который мне помог: используйте :e ./path/to/file.work
, чтобы открыть файл в области просмотра без разделения окна.
P.S. Через два дня после запуска vim у меня все еще возникают проблемы с поиском точных команд справки. Надеюсь, это поможет кому-то еще продолжать работу, пока они действительно не получат время, чтобы понять vim.
Вот очень читаемая функция vimscript, которая хорошо обрабатывает все случаи ,
- ведут себя аналогично встроенной
:bd
(если только одно окно, просто вызовите его!),- выдать предупреждение и ничего не делать, если буфер изменен.
- если нет другого буфера, создайте его через
:новый
. - , если существует альтернативный буфер, и в списке буферов
:bn
.
- более разумное поведение для многооконного макета
- не закрывает ни одно окно,
- всегда оставаться в исходном окне.
- для каждого окна, отображающего текущий буфер, выполните указанные выше действия, а затем удалите старый текущий буфер.
nnoremapb :вызвать DeleteCurBufferNotCloseWindow()
функция! УдалитьCurBufferNotCloseWindow() прервать
если &изменено
эххл ErrorMsg
эхом "Е89: нет записи с момента последнего изменения"
эхол
иначе если winnr('$') == 1
бд
иначе " несколько окон
пусть oldbuf = bufnr('%')
пусть oldwin = winnr()
пока 1 " все окна, отображающие oldbuf, останутся открытыми
если добавлен в список (bufnr ('#'))
б#
еще
млрд
пусть curbuf = bufnr('%')
если curbuf == oldbuf
enew " oldbuf - единственный буфер, создайте его
конец
конец
пусть победит = bufwinnr (oldbuf)
если победа == -1
сломать
else "есть другое окно, отображающее oldbuf
exec выиграть 'wincmd w'
конец
конец
"удалить oldbuf и восстановить окно на oldwin
exec oldbuf 'bd'
exec oldwin 'wincmd w'
конец
конечная функция
9> (то же, что и на английской клавиатуре) переключает на альтернативный файл, а:bd#
удаляет другой буфер.