外接键盘
设置
Mac系统会默认把外接键盘的win映射成command,需要把外接键盘的alt键与win键功能交换。方法是使用"修饰键"完成这个交换 (对 外接 键盘操作)
其他快捷键
- command+L 定位到地址栏
- command+tab 切换到下一个标签
- command+2 切换到第2个标签
- command+左右 定位到行首与行尾
- command+上下 定位到文件头与文件尾
- option (映射到alt上,又交换到win上)+左右 定位到上一个与下一个单词末尾
- option (映射到alt上,又交换到win上)+command 光标变为十字型,拖动鼠标可以按列选中
CLion 安装与配置
使用Mac本地CLion与远程编译
可参考官方安装教程或者clion 安装与配置。在Mac本地使用CLion进行日常开发,程序的编译与运行均需要登录远程开发机执行
同步代码
Mac本地CLion开发并同步代码到远程开发机,这种方法适合Mac本地开发环境 与 测试环境或线上环境不一致的情况,可以参考官方博客提供的方法:Stay local, let your IDE do remote work for you!。另外也可以参考以下操作自行配置:
- 远程开发机中启动vsftpd服务
sudo yum install -y vsftpd; vi /etc/vsftpd/vsftpd.conf
- centos7 启动vsftpd服务出错:listen=YES,anonymous_enable=NO, #listen_ipv6=YES, 使用了默认端口21,使用sudo service vsftpd start启动
- CLion-tools-deployment-configure
- CLion-tools-deployment-options-exclude items by name
代码格式化
通常使用clang-format进行格式化,对CLion2019.1之前版本在Mac本地操作步骤如下:
- brew install clang-format
- CLion中安装插件:Preferences-Plugin-File Watchers
- CLion中配置插件,在文件被保存时自动执行格式化:Preferences-Tools-File Watchers下添加配置
- program:
clang-format
- Arguments:
-i $FileName$ --style=file
- Output paths to refresh:
$FileDir$
- Trigger the watcher on external changes
- program:
- CLion中配置外部工具:Preferences-Tools-External Tools
- Tool Settings: 参考上述配置
- CLion中配置外部工具快捷键,可以手动对当前文件执行clang-format格式化:Preferences-Keymap-External Tools
格式化配置文件.clang-format示例:
# Run manually to reformat a file:
# clang-format -i --style=file <file>
# find . -name '*.cpp' -o -name '*.h' | xargs clang-format -i --style=file
BasedOnStyle: Google
远程调试
有些情况debug一下还是很方便的,主要参考GDB Remote Debug,以下为主要步骤:
- 远程开发机
-yum install -y gdb-gdbserver
- gdbserver IP:PORT executable - Mac本地CLion
- CLion-Preferences-Build,Excution,Deployment-Toolchains 配置可用的 Debugger
- Run-Edit Configarations-GDB Remote Debug 配置待调试目标的相关信息
- GDB:
Bundled GDB
- target remote:
IP:PORT
- Symbol file:
/local-path/build/executable
- Sysroot:
/local-path
- Path Mappings: ```/remote-path /local-path
- GDB:
注意 GDB Remote Debug 配置正确,以及本地的可执行文件需要与远程开发机中的可执行文件完全一致,否则调试过程中可能会出现一些问题如:
- No source file named xxx.cpp
- 断点不生效
此外正确编写CMakeLists.txt(生成可远程调试的可执行文件)对远程debug也很重要,可参考:clion远程调试,示例如下:
# Make 最低版本号要求
cmake_minimum_required(VERSION 2.8)
# 项目信息
project(hello)
# 指定源文件
set(SOURCE_FILES main.cpp)
set(CMAKE_SOURCE_DIR .)
# 配置gdb调试
set(CMAKE_BUILD_TYPE "Debug")
set(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g3 -ggdb -v")
set(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall -v")
# 指定生成目标
add_executable(hello ${SOURCE_FILES})
插件及其他个性化配置
- 取消namespace成员的缩进:Preferences-Editor-Code Style-Tabs and Indents-Indent members of namespace = 0
- 变量声明处按等号对齐:Preferences-Editor-Code Style-Wrappings and Braces-Varable groups-Align in columns
- 代码区按右键,选定column selection mode,可以按列选中代码
- 函数/头文件跳转、生成代码(类、构造函数、接口的实现)、第三方主题等功能:需要 CLion 根据正确的 CMakeLists.txt 进行分析实现的
- 第三方主题:参考Smart editor
- 日常开发代码格式可参考:Google C++开源项目风格指南
- 使用蛇形格式命名文件以及驼峰格式命名类:Preferences-Editor-Code Style-C/C++-New File Extensions
使用远程 CLion 与编译
待补充
其他软件
查找软件安装位置:右键->选项->在访达中显示;右键程序图标->显示包内容。如 clion 默认安装位置:/Applications/CLion.app/Contents/bin/clion.vmoptions
iterm2
- 有许多第三方主题插件,另外也可以使用自定义的主题,参考配置文件如下:
~ $pwd
/var/root
~ $cat .bash_profile
export BASH_SILENCE_DEPRECATION_WARNING=1
#enables colorin the terminal bash shell export
export CLICOLOR=1
#setsup thecolor scheme for list export
export LSCOLORS=gxfxcxdxbxegedabagacad
#sets up theprompt color (currently a green similar to linux terminal)
export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ '
#enables colorfor iTerm
export TERM=xterm-256color
alias wk="cd /Users/admin"
alias ll="ls -lrtha"
alias la='ls -lrtha'
alias grep='grep --color'
alias egrep='egrep --color'
alias fgrep='fgrep --color'
find_git_branch () {
local dir=. head
until [ "$dir" -ef / ]; do
if [ -f "$dir/.git/HEAD" ]; then
head=$(< "$dir/.git/HEAD")
if [[ $head = ref:\ refs/heads/* ]]; then
git_branch=" (${head#*/*/})"
elif [[ $head != '' ]]; then
git_branch=" → (detached)"
else
git_branch=" → (unknow)"
fi
return
fi
dir="../$dir"
done
git_branch=''
}
PROMPT_COMMAND="find_git_branch; $PROMPT_COMMAND"
black=$'\[\e[1;30m\]'
red=$'\[\e[1;31m\]'
green=$'\[\e[1;32m\]'
yellow=$'\[\e[1;33m\]'
blue=$'\[\e[1;34m\]'
magenta=$'\[\e[1;35m\]'
cyan=$'\[\e[1;36m\]'
white=$'\[\e[1;37m\]'
normal=$'\[\e[m\]'
PS1="\[\033[0;31m\]\u \[\033[00;36m\]\W$yellow\$git_branch \[\033[0;33m\]$\[\e[1;37m\]"
普通用户按照如上内容配置 .bash_profile 后,打开item2,其配置是生效的,但sudo su到root后未生效,令root用户下主题也生效参考:
- 如上 .bash_profile 内容追加到 /etc/bashrc 中
- sudo -i 生效
- sudo su 不生效
- sudo su 之后 su - root 生效
其他快捷键:
- command + shift + i 同时向多个session发送命令
ssh配置
ww ~ $cat .ssh/config
Host *
ControlMaster auto
ControlPath ~/.ssh/master-%r@%h:%p
Host dev
HostName xx.xx.xx.xx
User root
Port xx
ServerAliveInterval 30
访问trello
- 申请vps服务器
- 在vps服务器上搭建ss服务(ip+port)
- ss客户端填写对应的ip+port+passwd
- ss客户端选择PAC模式(自动识别)
参考
mac修改复制粘贴快捷键操作
mac外接机械键盘
OS X下机械键盘的设置和技巧
Mac快捷键大全
Intellij IDEA配置自动同步到FTP服务器
Run and debug
运行和调试
GDB remote debugging, can't seem to find symbols
GDB debugger problems - No source file named
在 CLion 中进行调试
配置CLion clang-format保存时自动格式化
Iterm2多窗口同时输入命令
macOS终端颜色的设定方法与说明:CLICOLOR与LSCOLORS
iTerm2中ssh保持连接不断开