lf 快速上手

lf 快速上手

2023/03/08

常用命令快捷键

搜索和查找

  • ignorecase 忽略大小写

搜索

globsearch  (false) 是否支持 glob pattern
incsearch   (false) 是否增量搜索, 即每次按下字符都搜索.
                    增量模式下 cmd-enter 确认, cmd-escape 取消(光标位置会回滚回去)

查找

anchorfind  (true)  是否只查找第一个字符
findlen     (1)     查找长度, 默认是 1, 即只能输入 1 个字符来查找

常用命令

cmds    查看定义的命令
maps    查看快捷键(包括内置的)

常用快捷键

q       退出
y       复制(没有选择文件时使用当前文件)
d       剪贴(没有选择文件时使用当前文件)
p       粘贴 复制/剪贴 的文件
c       清除 复制/剪贴
e       编辑
i       预览
m       保存当前目录到书签, 其会提示输入一个字符来命名
'       选择要加载的书签
<space> 切换文件的选择状态
gg      跳转到顶部
G       跳转到底部

# 搜索相关
/   搜索
?   反向搜索, 结果的上下顺序颠倒
n   移动到下一个
N   移动到上一个

# 查找相关 (findlen)
f   查找
F   反向查找, 结果的上下顺序颠倒
;   移动到下一个
,   移动到上一个

配置概要

lf/doc

COMMAND LINE COMMANDS: 指命令行模式下的快捷键, 进入此模式通过前缀 :, 以及其他前缀. : 模式下可继续使用其他前缀来改变模式

前缀

:  read (default)  builtin/custom command                 lf 的命令
$  shell           shell command
%  shell-pipe      shell command running with the UI
!  shell-wait      shell command waiting for a key press  常用于需要查看输出, 例如 `echo 11111`
&  shell-async     shell command running asynchronously

内置基本命令

  • set: 设置选项(options), 特殊简写: set hidden! 表示切换此 bool. 双引号会转义 \
  • cmd: 定义一个 lf 命令
  • map/cmap: 绑定普通模式/命令行模式的快捷键. 快捷键可以是一个单词, 例如 gh 连续按下即可触发; 也可以是组合键(<c-z>…)/特殊键(<enter>…)

cmd/map/cmap 的目标指令:

  • 为空时将删除对应命令/快捷键

  • 通过前缀来区分目标指令是 lf 命令(: 单指令时可省略)还是 shell 命令

  • 通过 {{ }} 来写多行(也可以都放在一行, ; 间隔语句), 例如:

    map st :{{set sortby time; set info time}}
    cmd trash ${{ IFS="$(printf '\n\t')"; mv $fx ~/.trash }}

环境变量

f       当前文件的全路径
fs      已选择的文件, 文件之间使用 `filesep` 间隔
fx      fs 或者 f
EDITOR  编辑时使用的编辑器(如 vim)
PAGER   分页预览器(如 less/more)

整合其他工具

lfcd

官方 lfcd.sh

lfcd 命令将在当前目录打开 lf, 并在 lf 退出时 cd 到 lf 最后停留的目录

fzf

官方 wiki: lf wiki Integrations

此处修改 fzf_jump 搜索子级文件夹:

cmd fzf_jump ${{
    res="$(fzf --header='Jump to location')"
    if [ -n "$res" ]; then
        if [ -d "$res" ]; then
            cmd="cd"
        else
            cmd="select"
        fi
        res="$(printf '%s' "$res" | sed 's/\\/\\\\/g;s/"/\\"/g')"
        lf -remote "send $id $cmd \"$res\""
    fi
}}
map <c-f> :fzf_jump
Last updated on