ncmpcpp cheat sheet

Keys - Movement

  • Up k - Move cursor up
  • Down j - Move cursor down
  • [ - Move cursor up one album
  • ] - Move cursor down one album
  • { - Move cursor up one artist
  • } - Move cursor down one artist
  • Page Up - Page up
  • Page Down - Page down
  • Home - Home
  • End - End
  • Tab - Switch to next screen in sequence
  • Shift-Tab - Switch to previous screen in sequence
  • F1 - Show help
  • 1 - Show playlist
  • 2 - Show browser
  • 3 - Show search engine
  • 4 - Show media library
  • 5 - Show playlist editor
  • 6 - Show tag editor
  • 7 - Show outputs
  • 8 - Show music visualizer
  • = - Show clock
  • @ - Show server info

Keys - Global

  • s - Stop
  • p - Pause
  • > - Next track
  • < - Previous track
  • Ctrl-H Backspace - Replay playing song
  • f - Seek forward in playing song
  • b - Seek backward in playing song
  • - Left - Decrease volume by 2%
  • Right + - Increase volume by 2%
  • t - Toggle space mode (select/add)
  • T - Toggle add mode (add or remove/always add)
  • | - Toggle mouse support
  • v - Reverse selection
  • V - Remove selection
  • B - Select songs of album around the cursor
  • a - Add selected items to playlist
  • ` - Add random items to playlist
  • r - Toggle repeat mode
  • z - Toggle random mode
  • y - Toggle single mode
  • R - Toggle consume mode
  • Y - Toggle replay gain mode
  • # - Toggle bitrate visibility
  • Z - Shuffle playlist
  • x - Toggle crossfade mode
  • X - Set crossfade
  • u - Start music database update
  • : - Execute command
  • Ctrl-F - Apply filter
  • / - Find item forward
  • ? - Find item backward
  • , - Jump to previous found item
  • . - Jump to next found item
  • w - Toggle find mode (normal/wrapped)
  • G - Locate song in browser
  • ~ - Locate song in media library
  • Ctrl-L - Lock/unlock current screen
  • Left h - Switch to master screen (left one)
  • Right l - Switch to slave screen (right one)
  • E - Locate song in tag editor
  • P - Toggle display mode
  • \ - Toggle user interface
  • ! - Toggle displaying separators between albums
  • g - Jump to given position in playing song (formats: mm:ss, x%)
  • i - Show song info
  • I - Show artist info
  • L - Toggle lyrics fetcher
  • F - Toggle fetching lyrics for playing songs in background
  • q - Quit

Keys - Playlist

  • Enter - Play selected item
  • Delete - Delete selected item(s) from playlist
  • c - Clear playlist
  • C - Clear playlist except selected item(s)
  • Ctrl-P - Set priority of selected items
  • Ctrl-K m - Move selected item(s) up
  • n Ctrl-J - Move selected item(s) down
  • M - Move selected item(s) to cursor position
  • A - Add item to playlist
  • e - Edit song
  • S - Save playlist
  • Ctrl-V - Sort playlist
  • Ctrl-R - Reverse playlist
  • o - Jump to current song
  • U - Toggle playing song centering

Keys - Browser

  • Enter - Enter directory/Add item to playlist and play it
  • Space - Add item to playlist/select it
  • e - Edit song
  • e - Edit directory name
  • e - Edit playlist name
  • 2 - Browse MPD database/local filesystem
  • ` - Toggle sort mode
  • o - Locate playing song
  • Ctrl-H Backspace - Jump to parent directory
  • Delete - Delete selected items from disk
  • G - Jump to playlist editor (playlists only)

Keys - Search engine

  • Enter - Add item to playlist and play it/change option
  • Space - Add item to playlist
  • e - Edit song
  • y - Start searching
  • 3 - Reset search constraints and clear results

Keys - Media library

  • 4 - Switch between two/three columns mode
  • Left h - Previous column
  • Right l - Next column
  • Enter - Add item to playlist and play it
  • Space - Add item to playlist
  • e - Edit song
  • e - Edit tag (left column)/album (middle/right column)
  • ` - Toggle type of tag used in left column
  • m - Toggle sort mode

Keys - Playlist editor

  • Left h - Previous column
  • Right l - Next column
  • Enter - Add item to playlist and play it
  • Space - Add item to playlist/select it
  • e - Edit song
  • e - Edit playlist name
  • Ctrl-K m - Move selected item(s) up
  • n Ctrl-J - Move selected item(s) down
  • Delete - Delete selected playlists (left column)
  • C - Clear playlist except selected item(s)
  • Ctrl-P - Set priority of selected items
  • Ctrl-K m - Move selected item(s) up
  • n Ctrl-J - Move selected item(s) down
  • M - Move selected item(s) to cursor position
  • A - Add item to playlist
  • e - Edit song
  • S - Save playlist
  • Ctrl-V - Sort playlist
  • Ctrl-R - Reverse playlist
  • o - Jump to current song
  • U - Toggle playing song centering

Keys - Browser

  • Enter - Enter directory/Add item to playlist and play it
  • Space - Add item to playlist/select it
  • e - Edit song
  • e - Edit directory name
  • e - Edit playlist name
  • 2 - Browse MPD database/local filesystem
  • ` - Toggle sort mode
  • o - Locate playing song
  • Ctrl-H Backspace - Jump to parent directory
  • Delete - Delete selected items from disk
  • G - Jump to playlist editor (playlists only)

Keys - Search engine

  • Enter - Add item to playlist and play it/change option
  • Space - Add item to playlist
  • e - Edit song
  • y - Start searching
  • 3 - Reset search constraints and clear results

Keys - Media library

  • 4 - Switch between two/three columns mode
  • Left h - Previous column
  • Right l - Next column
  • Enter - Add item to playlist and play it
  • Space - Add item to playlist
  • e - Edit song
  • e - Edit tag (left column)/album (middle/right column)
  • ` - Toggle type of tag used in left column
  • m - Toggle sort mode

Keys - Playlist editor

  • Left h - Previous column
  • Right l - Next column
  • Enter - Add item to playlist and play it
  • Space - Add item to playlist/select it
  • e - Edit song
  • e - Edit playlist name
  • Ctrl-K m - Move selected item(s) up
  • n Ctrl-J - Move selected item(s) down
  • Delete - Delete selected playlists (left column)
  • Delete - Delete selected item(s) from playlist (right column)
  • c - Clear playlist
  • C - Clear playlist except selected items

Keys - Lyrics

  • Space - Toggle reloading lyrics upon song change
  • e - Open lyrics in external editor
  • ` - Refetch lyrics

Keys - Tiny tag editor

  • Enter - Edit tag
  • y - Save

Keys - Tag editor

  • Enter - Edit tag/filename of selected item (left column)
  • Enter - Perform operation on all/selected items (middle column)
  • Space - Switch to albums/directories view (left column)
  • Space - Select item (right column)
  • Left h - Previous column
  • Right l - Next column
  • Ctrl-H Backspace - Jump to parent directory (left column, directories view)

阅读全文

晨间日记的奇迹


晨间日记的奇迹
一月 16, 2019. Created by XMind

阅读全文

PicGo图床软件使用教程

项目地址:https://github.com/Molunerfinn/PicGo

阅读全文

Fuzzy Finder(fzf+vim) 使用全指南


Fuzzy finder(fzf+vim) 使用全指南

2018-8-1219:20 PM

简介

Fuzzy finder 是一款使用 GO 语言编写的交互式的 Unix 命令行工具。可以用来查找任何 列表 内容,文件、Git 分支、进程等。所有的命令行工具可以生成列表输出的都可以再通过管道 pipe 到 fzf 上进行搜索和查找

优点

  • GO 语言编写,编译完生成可执行文件没有任何依赖
  • 搜索/查找速度飞快
  • 功能全面/可视化界面体验很棒
  • 周边插件丰富 (vim, tmux, fuzzy auto-completion)

安装

以 macOS 为例子,直接使用 homebrew 安装即可
brew install fzf
# 如果要使用内置的快捷键绑定和命令行自动完成功能的话可以按需安装
$(brew --prefix)/opt/fzf/install

使用

命令行下执行 fzf 即可展示当前目录下所有文件列表,可以用键盘上下键或者鼠标点出来选择
或许你会觉得这个查找提示看起来挺漂亮的,但是并没有什么卵用,因为查找出来就没有然后了。其实这也是 Fuzzy finder 最核心的地方,他只是一个通用的下拉查找功能,自己本身并不关心你用它来做什么,通常我们需要组合使用才会有很好的效果

用 vim 打开文件

比如我们用 vim 组合 fzf 来查找并打开目录下的文件:
vim $(fzf)

切换当前工作目录

再比如进入到某个文件夹下面,使用 fzf 的过滤选择真是太方便了
cd $(find * -type d | fzf)
这是个组合 (cd+find+fzf) 命令,完成切换到任意子目录的功能。可以看出来当 fzf 和其它命令组合使用时就能使得一些操作更方便:
  1. 使用 find 命令找出所有的子目录
  2. 把子目录列表 pipe 到 fzf 上进行选择
  3. 再把结果以子命令的形式传给 cd

切换 git 分支

git checkout $(git branch -r | fzf)
不过这样组合使用命令的实在太长了,如果你不使用自动补全的话巧起来很累的。建议把常用的 alias 放在 .zshrc 中管理嘛

shell 命令行补全

fzf 默认使用 ** 来补全 shell 命令,比起默认的 tab 补全,fzf 补全不知道高到哪里去了。cd, vim, kill, ssh, export… 统统都能补全,好用哭了

配置

fzf 提供了两个 环境变量 配置参数,来分别设置默认的调用命令和 fzf 默认配置参数

核心命令 FZF_DEFAULT_COMMAND

对于使用 fzf 来查找文件的情况,fzf 其实底层是调用的 Unix 系统 find 命令,如果你觉得 find 不好用也可以使用其它查找文件的命令行工具「我使用 fd」。注意:对原始命令添加一些参数应该在这个环境变量里面添加
比如说我们一般都会查找文件 -type f,通常会忽略一些文件夹/目录 --exclude=...,下面是我的变量值:
export FZF_DEFAULT_COMMAND="fd --exclude={.git,.idea,.vscode,.sass-cache,node_modules,build} --type f"

界面展示 FZF_DEFAULT_OPTS

界面展示这些参数在 fzf --help 中都有,按需配置即可
export FZF_DEFAULT_OPTS="--height 40% --layout=reverse --preview '(highlight -O ansi {} || cat {}) 2> /dev/null | head -500'"
界面配置参数加上后就漂亮多了
--preview 表示在右侧显示文件的预览界面,语法高亮的设置使用了 highlight 如果 highlight 失败则使用最常见的 cat 命令来查看文件内容
highlight 安装可能会有个小插曲。highlight 需要手动编译安装,默认安装目录在 /usr/bin, /usr/share 下面。然而在 macOS 中由于 SIP 保护,用户安装的程序不能在这几个目录下面「即使有 sudo 权限也不行」。我们可以手动更改下 highlight 源代码中 makefile 中的参数即可
# PREFIX = /usr
PREFIX = /usr/local
PREFIX = /usr 改成 PREFIX = /usr/local,然后 makesudo make install 就可以了

触发命令行补全 FZF_COMPLETION_TRIGGER

默认是 **,一般不用修改

VIM fzf 插件

如果你使用 vim,那么官方提供的插件会让你的 vim 使用更加流畅

安装插件

如果你本地安装过 fzf 命令行工具了,只需要在 .vimrc 里面添加下面两个插件配置即可
Plug '/usr/local/opt/fzf'
Plug 'junegunn/fzf.vim'
注意:使用了 vim-plug 插件管理
插件主要对 fzf 集成绑定了一些和 vim 相关的功能,比如:查找当前 Buffer、Tag、Marks。甚至切换 window 更换 vim 主题配色等
命令模式下敲 Files 即可选择当前目录下所有文件,Buffers 可以过滤当前所有 vim buffer 内容
再配置几个常用快捷键就可以直接取代 CtrlP 插件了
  • Ctrl + p 查看文件列表
  • Ctrl + e 查看当前 Buffer,两次 Ctrl + e 快速切换上次打开的 Buffer
nmap <C-p> :Files<CR>
nmap <C-e> :Buffers<CR>
let g:fzf_action = { 'ctrl-e': 'edit' }

结语

当然 fzf 还可以在很多其它场景下用来。如果你想使用可视化的列表选择而不是咣咣敲命令,那就自己搭配一些组合来使用吧
»

阅读全文

《实用性阅读指南》读书笔记

读过很多书,却不记得书中讲了什么?

阅读全文

在Github上使用Hexo搭建个人博客

成品示例展示:https://itgoyo.github.io/

1、Hexo搭建

环境

一、环境安装

  1. node.js(在node.js官网中下载安装)node.js官网

  2. git(OS系统中直接安装x-code就可以了)

  3. hexo

1)打开OS系统终端

2)输入安装hexo的代码(此处安装时有可能会提示输入系统管理员密码)

$ sudo npm install -g hexo

如果以上命令安装失败的话,换

1
sudo npm install --unsafe-perm --verbose -g hexo

二、hexo创建静态博客

  1. 新建blog文件夹

  2. 在终端进入该文件夹,初始化博客

$ hexo init

  1. 上述完成后,生成原始文件;blog文件夹就是博客的根目录
  1. 本地查看:启用本地服务命令(退出按ctrl+c)

$ hexo s

  1. 将出现的地址输入浏览器,即可可查看到本地效果

三、github配置

  1. 注册github账号并登陆

  2. 获取本机的SSH口令

1)输入获取代码,回车直到出现图片所示图形为止

$ ssh-keygen

2)输入编译代码

$ vim ~/.ssh/id_rsa.pub
3)出现SSH口令后,将红框部分复制,并在下方输入:q,随后按下回车可以退出该窗口

4)进入到github页面设置SSH口令

点击用户下拉菜单中的settings(step1)

点击左侧的SHH and GPG keys(step2)

在Title中输入口令名称(随意)(step3)

在key中贴上SSH口令(step4)

阅读全文

终端目录跳转软件autojump和z

阅读全文

Linux安装i3wm平铺式窗口桌面

对于颜值的高要求,首先这里安装的时候参考了https://www.github.com/Airblader/i3

阅读全文

一个简单的C语言程序Bug引起的思考

源代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

typedef struct student

{

char name[50]; //姓名

unsigned int age;

int score;

} student;

`void print_stu(student *stu, int n)`

{

int i = 0;

printf("name\tage\tscore\n");

for (int i = 0; i < n; i++)

{

printf("%s\t%d\t%d\n", stu[i].name, stu[i].age, stu[i].score);

}

}

`void sort_stu(student *stu, int n)`

{

int i = 0;

int j = 0;

student temp;

for (int i = 0; i < n - 1; i++)

{

for (int j = 0; j < n - i- 1; j++)//之前写成i<n-j-1

{

if (stu[j].age > stu[j + 1].age)

{

printf("--\n");

temp = stu[j];

stu[j] = stu[j + 1];

stu[j + 1] = temp;

printf("-1--%d--%d\n", i, j);

}

else if (stu[j].age == stu[j + 1].age)

{

printf("-2-\n");

if (stu[j].score > stu[j + 1].score)

temp = stu[j];

stu[j] = stu[j + 1];

stu[j + 1] = temp;

}

}

}

}

`int main(int argc, char *argv[])`

{

student stu[5] =

{

{"mike", 18, 86},

{"jake", 41, 47},

{"itgoyo", 24, 86},

{"mkosto", 18, 83},

{"luck", 41, 86}

};

int n = sizeof(stu) / sizeof(*stu);

printf("n=%d\n", n);

print_stu(stu, n);

sort_stu(stu, n);

print_stu(stu, n);

return 0;

}

阅读全文

印象笔记+hexo搭建自己的个人博客

之前在逛V2EX的时候以外发现一个好玩的东西,就是使用印象笔记Evernote来写文章让后生成响应的html同步到hexo上面。由于自己在生活中使用印象笔记的频率也比较高,而且收藏文章的时候也比较方便。不用自己又特意转成md格式的,这样子省时省力所以决定把自己的博客搭建给换成这个框架来搭建。

阅读全文

本站总访问量

Fork me on GitHub