⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bianjiqi.c

📁 这是一个简单的编辑器雏形
💻 C
字号:
#include<curses.h> 

#define STARTX 1 
#define STARTY 1 

void initial() 
{ 
initscr(); /* 初始化 */ 
cbreak(); /* 用来开启 cbreak 模式,cbreak 指除了DELETE,CTRL终端处理的特殊字符外,其余键盘输入的字符将立即被读取 */ 
nonl(); /* 格式控制 */ 
noecho();/* 并不立即显示字符 */ 
intrflush(stdscr,FALSE); /* 不读取串 */ 
keypad(stdscr,TRUE); /* 键盘响应 */ 
refresh(); /* 更新屏幕 */ 
} 

int main() 

{ 
int x=STARTX; 
int y=STARTY; 
int ch; 

initial(); 

//box(stdscr,ACS_VLINE,ACS_HLINE); 
/* 设置窗口形式 */ 
move(0,30); 
/* 移动 0 行 30 列 */ 
printw("edit"); /* curses 的输出格式,类似 printf */ 
refresh(); 

move(x,y); 


do{ 
ch=getch(); 
switch(ch){ 
case KEY_UP: /* 获取上键 */ 
if(y>1) --y; 
move(y,x); 
break; 
case KEY_DOWN: /* 获取下键 */ 
++y; 
break; 

case KEY_RIGHT: /* 获取右键 */ 
++x; 
break; 
case KEY_LEFT: /* 获取左键 */ 
if(x>1) --x; 
break; 
case 'r': /* 获取回车键,并产生一个空行 */ 
++y; 
x=1; 
move(y,x); 
insertln(); 
break; 
case 't': /* 获取 Tab 键 */ 
x+=4; 
break; 
case KEY_BACKSPACE: /* 获取删除键,删除字符 */ 
if(x>1) --x; 
move(y,x); 
addch(' '); 
break; 

case KEY_DC: 
delch(); 
break; 
case 126: /* 设置 ~ 键为退出键 */ 
endwin(); /* 结束 curses 模式 */ 
exit(0); 
default: 
insch(ch); /* 输出字符 */ 
x++; 
break; 
} 
move(y,x); 
}while(1); 
} 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -