顯示具有 小技巧 標籤的文章。 顯示所有文章
顯示具有 小技巧 標籤的文章。 顯示所有文章

107.10.27 [Git] 修改已經 push 的 commit 訊息

首先把當下的修改做 commit 或 stash
請隨時愛用 git log 和 git status 查看當前狀態
以下為真實例子,要修改的已經 push 而本地端又多兩個 commit

$ git log
commit 452143805e8720f1085a7d14585f07cd6be4cb95 (HEAD -> master)
Author: aben20807 
Date:   Sat Oct 27 19:39:39 2018 +0800

    Implement specialBits()
    
    Because 0xffca3fff has exactly 1 byte 0b00101000
    in the middle, use its complement 0b11010111 to
    shift left 14 bits and complemet it finally.

commit e36bee804ba0bd24a2f4b3658488ca3d5ad11e37
Author: aben20807 
Date:   Sat Oct 27 19:36:43 2018 +0800

    Ignore .swp files

commit 77883e77862f88fc91730ca9a2035fb1d6c5ddf3 (origin/master, origin/HEAD)
Author: aben20807 
Date:   Sat Oct 27 17:32:02 2018 +0800

    Fix shifting warnings from cppcheck
    
    Because cppcheck will complain when shifting signed 32-bit
    value by 31 bits, this commit change these variables that
    needs to shift 31 bits to become unsigned and add the
    integer-suffix 'u' to integer constants.
    For example:
    `x >> 31` becomes `(unsigned) x >> 31`
    `1 >> 31` becomes `1u >> 31`

commit c33896f8fb684227102284a7313228cb876bd716

我要修改 77883e77862f88fc91730ca9a2035fb1d6c5ddf3 的 commit 訊息

107.09.19 [Ubuntu] 18.04 觸控版手勢

連 windows 都有手勢了
所以就來讓 ubuntu 也能使用吧 OuO

107.08.31 [Rust] cargo 使用多個 main 檔案

寫學習的程式時,若每一個 main 函式就要用 cargo new 新增專案的話不免有些浪費
所以就找到如何同時存在多個有 main 函式的檔案

e.g. 正常下用 cargo new 時檔案結構
$ cargo new mytest
$ cd mytest
$ tree .
mytest/
├── Cargo.toml
└── src
    └── main.rs

測試這個 main 時只需要用 cargo run 執行即可
cargo 會去找 src/lib.rs 或 src/main.rs 當作程式進入點的檔案

107.08.29 vim 選取模式下貼上不要剪下選取部分

如標題,想簡單描述卻偏複雜
問題是這樣的
當用 v (選取)一些字後,想用 p (貼上)剛剛用 y (複製)下來的東西
但是 vim 在做完 p 後會自動把選取的字 d (剪下)
導致下次 p 時,會貼到剛剛被覆蓋的字

如下範例,第二次用 p 時,正常預期結果是 aaa 但實際卻是 bbb
aaa ---> y 複製
bbb ---> p 貼上 ---> aaa
ccc ---> p 貼上 ---> bbb

107.08.20 blogger 結合 google plus

請幫忙集氣 Blogger、G+ 不死 (X

先附上連結,請追蹤並按個小鈴鐺以接收通知 ❤
https://plus.google.com/u/0/collection/AaoWdE

107.08.17 vim 自動生成中間路徑

有時候想要新增一個資料夾並編輯裡面的檔案時
總想偷懶
例如:
原本沒有 002_data_copy 資料夾,但要編輯裡面的 main.c
$ vim 002_data_copy/main.c

107.07.25 eclipse for vimer

因為要寫 Java 所以就得用 eclipse (?
主要就是把 eclipse 裝一些插件

107.07.24 在 chrome 用 vim 指令

前幾天直播介紹了一些 vim 的基礎操作
想看的來這裡喔~
投影片:https://hackmd.io/p/ryg-CBkmm#/
YouTube:https://www.youtube.com/watch?v=rs_CrFihrGg

然後最近真的手腕痛
不知是沒在寫字還是什麼原因?
主因應該是滑鼠啦,我的無線滑鼠偏小顆
所以掌根都會貼著桌面,並用手腕在滑,正常要手臂跟著動較不會痠痛

因此就找到這個擴充
連結:cVim

107.07.21 vim 檔案外部修改刷新

如何不關掉 vim 就刷新外部對此檔案的更新?
這其實是頗常見的問題
完成如 gif (在右方更新內容儲存後左邊馬上刷新)


107.07.18 簡單設定截止時間執行指令

情境:在設定的時間要去 clone (有點像是禁止遲交)
簡單解法:利用 sleep 跟 date 兩個 system call

舉例:在 2018 年 7 月 17 日 23:59:59 執行 ls

上程式碼:(test.sh)
deadline=$(date -d"2018-07-17 23:59:59" +%s)
now=$(date +%s)
during=$(($deadline-$now))
sleep $during;
ls

執行:
$ bash test.sh

把 ls 換成想要執行的指令即可,e.g.  git clone ....
執行後就等時間到吧
注意不要關掉終端機嘿 OuO

107.07.10 ubuntu caps lock 換成 esc

找了一整天有沒有可以用的登入後自動執行 script 的方法
結果全部都失敗
真的是每裝一個系統都要想辦法把它改掉欸QuQ

<注意>
改造前請先查看是否有按到 caps-lock

安裝 dconf-editor (已經安裝的就不用重新安裝
$ sudo apt update
$ sudo apt install dconf-editor

開啟
$ dconf-editor

前往 / org / gnome / desktop / input-sources / xkb-options
取消使用預設值
在下方框框中打入
['caps:escape']
接著下面會出現儲存勾勾
儲存關閉後立即生效

107.07.04 blogger 分類、標籤我都要

本篇程式碼主要來自以個兩個網站,然後作稍微修改
[教學]5分鐘讓你Blogger的標籤改成樹狀階層式 - 櫻桃椒
[教學] Blogger 文章頁面製作分類與標籤 - 技研可樂

因為 Blogger 只提供標籤功能
要做分類的話有一個最簡單的方式:就是一篇文章一個標籤,直接當分類用
但這樣會有兩個問題
1. 標籤一多時分類會一大坨。 ---- 用樹狀標籤解決
2. 我還是要用標籤怎麼辦。 ---- 用不顯示第一個標籤解決
先上最後結果:


107.06.18 cygwin gdb redirection

redirection 就是透過 <、> 來操作資料流
例如
檔案 test.c:
#include <stdio.h>
int main(){
    int x;
    scanf("%d", &x);
    printf("%d", x);
    return 0;
}
編譯:
$ gcc test.c -o test

執行(使用 redirection):
$ ./test < input.txt  # integer 5 in input.txt
$ 5 # program output

107.06.18 好看的 gdb, gdb-dashboard

相信常常要與 Segmentation fault 對抗時 GDB 絕對是好夥伴
GDB 即為 GNU Debugger 的縮寫 (GNU 是 GNU's Not Unix....
而這次要介紹的是比較美觀的 GDB

107.06.05 在Blogger文章加入程式碼 (三)

此篇是 105.07.16 在Blogger文章加入程式碼 (一) 以下稱為 (一) 的加強版
  • 加入非預設的語言
  • 使用 querySelectorAll() 簡化 codeblock 的 class name

107.04.02 右鍵以 cygwin 開啟資料夾

win10 的 power shell 按著 shift + 滑鼠右鍵就會出現在選單中
每次要在特定資料夾開啟 cygwin 時都要用 cd 感覺頗麻煩=''=
然後就找到了 OuO

107.03.05 manjaro sysrq | reisub 安全重新開機

主要是在 manjaro 聽 vlc 聽到一半突然當機 @@
按什麼都沒反應
按 ctrl + alt + delete 當然也是沒反應 @@
只好按著電源鍵強制關機
但是這樣頗傷電腦
所以就找到 sysrq 這個東西 OuO
它的位置跟 prt sc 同一個

107.03.02 git push 免帳號密碼 | ssh key

基本上一個環境執行一次即可
但是步驟偏多,所以還是記錄個 OuO

<注意>請在自己熟悉的環境使用 ssh key,請勿在公共電腦使用

1. 檢查 ssh key
基本上都會顯示不存在,若已有,請先備份
$ cd ~/.ssh

107.03.02 解決 ale 的 gcc 不顯示錯誤 | 把 gcc 輸出改成英文

ale 是 vim 裡好用的即時偵錯插件
以前不知道為何 ale 中的 gcc 一直不能用,所以用 clang 就解決
但是本篇要來解決 gcc 的問題 !!!!

由於都沒有報錯誤訊息所以主要能夠排除是 ale 的問題

首先關於 linter 的設定,cpp 改成使用 g++
不要因為 cpp 後面的支援寫 gcc 就用 gcc
let g:ale_linters = {
            \   'cpp': ['g++']
            \}

產生一個有錯的 .cpp 檔
$ vim t.cpp

#include 
#include 
#include 
using namespace std;

int main()
{
    here
    return 0;
}

107.03.01 manjaro caps lock 換成 esc

之前有一篇 win10 版本的
106.07.26 win10 caps lock換成esc

<注意>
並不是caps lock 和 esc 交換
而是 caps lock 換成 esc,也就是說 caps lock、esc 都是 esc

因為按習慣了所以 manjaro 也來改一下 OuO
本篇也會提到如何使用登入自動執行 .sh 檔

首先我查到使用以下指令可以把 caps lock換成esc
$ setxkbmap -option caps:escape
直接在終端機執行即可

但是重新登入之後就要再重新輸入一次
就來使用登入執行的功能

^ Top