Arhn - архитектура программирования

Vim + CtrlP: поведение для первоначального отображения файлов MRU и переключения на поиск файлов при наборе текста

Мне сложно настроить CtrlP для vim так, как я хочу, чтобы он работал.

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

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

Мои текущие настройки CtrlP следующие

nmap § :CtrlPClearCache<CR>:CtrlPMRUFiles<CR>

let g:ctrlp_working_path_mode='ra'
let g:ctrlp_match_window_bottom=0
let g:ctrlp_max_depth=10
let g:ctrlp_max_files=500
let g:ctrlp_mruf_relative=1

.. и я вызываю CtrlP, нажимая §.

Любые советы, как улучшить мою конфигурацию, чтобы получить нужную мне функциональность, или научить меня лучшему способу достижения быстрого переключения буферов.

20.05.2013

  • А что насчет :CtrlPBuffer? 20.05.2013
  • : CtrlPBuffer показывает открытые буферы. Но вместо этого я стремлюсь к тому, чтобы, когда я начинаю набирать CtrlP, следует переключиться только на CtrlP, то есть поиск файлов в текущем рабочем каталоге. 20.05.2013
  • :CtrlPBuffer - лучший способ добиться быстрого переключения буферов; На самом деле это специальная команда для переключения буферов, поэтому я не знаю, как вы думаете, что это можно сделать быстрее. Кроме того, какой смысл отображать список недавно использованных файлов и активно мешать вам фильтровать его, заменяя его другим списком, как только вы что-то набираете? Разве <C-d> недостаточно для смены режимов? В любом случае, не могли бы вы более четко объяснить, чего вы хотите? 20.05.2013
  • Я пытаюсь настроить CtrlP, чтобы всякий раз, когда я открывал его, я мог выбрать недавно открытый файл с помощью клавиш со стрелками и ввести. Но если я начну печатать, он переключится на поиск всех файлов в проекте, а не только файлов, которые я недавно открыл. Это позволило бы мне использовать CtrlP как для перехода между файлами, с которыми я сейчас работаю, так и для открытия новых файлов, к которым я не прикасался в последнее время. (Глядя на документы ‹c-d›, вы переключаетесь между совпадающим именем файла и полным путем) 20.05.2013
  • Я имел в виду <C-b>, извините. То, что вы спрашиваете, невозможно, AFAIK, но не стесняйтесь спрашивать об этой функции у автора плагина. Самое близкое, что вы можете получить, - это :CtrlMixed, который смешивает буферы, файлы и mru. 20.05.2013
  • Я мог бы просто сделать это, спасибо за вашу помощь. Я посмотрел: CtrlPMixed как один из вариантов, но изначально он не отображал самые последние использованные элементы. 20.05.2013
  • На данный момент изначально нет возможности. Единственный способ изменить источник данных списка - это активно переключать режимы. 20.05.2013

Ответы:


1

Я задавал себе тот же вопрос и понял, что CtrlP не подходит для этой задачи. Поэтому я продолжил реализацию своего собственного. Ознакомьтесь с Bufstop. Это позволяет быстро переключаться между недавними буферами с помощью трех, двух или даже одного нажатия клавиши.

22.05.2013
  • Спасибо, что упомянули Bufstop. Когда я его открываю, он делает то, что я хотел бы сделать с помощью CtrlP, а именно отображает открытые буферы. Но в дополнение я бы хотел иметь возможность искать файлы, начиная с текущего рабочего каталога, путем ввода. Так что ваш плагин мне не подходит, хотя и интересен. 24.05.2013
  • правда, Bufstop - это просто переключатель буфера, вам придется полагаться на CtrlP для нечеткого поиска. Вы можете попробовать CtrlPCurWD для этой работы. 24.05.2013
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..