|  | @@ -259,14 +259,14 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  				if (data.multiSelectList.length === 0) {
 | 
	
		
			
				|  |  |  					data.multiSelectList.push(active);
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  | -				console.log("🚀 ~ data.multiSelectList:", data.multiSelectList);
 | 
	
		
			
				|  |  |  				if (data.multiSelectList.length > 0) {
 | 
	
		
			
				|  |  |  					data.multilList = [];
 | 
	
		
			
				|  |  |  					if (data.multiSelectList[0].startChar > active.startChar) {
 | 
	
		
			
				|  |  | -						data.multiSelectList = [active, data.multiSelectList[0]];
 | 
	
		
			
				|  |  | +						data.multiSelectList = [cleanDeep(data.multiSelectList[1]), cleanDeep(active)];
 | 
	
		
			
				|  |  |  					} else {
 | 
	
		
			
				|  |  | -						data.multiSelectList = [data.multiSelectList[0], active];
 | 
	
		
			
				|  |  | +						data.multiSelectList = [cleanDeep(data.multiSelectList[0]), cleanDeep(active)];
 | 
	
		
			
				|  |  |  					}
 | 
	
		
			
				|  |  | +					console.log(data.multiSelectList[0].startChar, data.multiSelectList[1].startChar)
 | 
	
		
			
				|  |  |  					data.multiSelectList = data.multiSelectList.sort((a, b) => a.startChar - b.startChar);
 | 
	
		
			
				|  |  |  					data.multilList = getmutilList();
 | 
	
		
			
				|  |  |  					handleChange({ type: "multiSelect", value: "" });
 | 
	
	
		
			
				|  | @@ -306,7 +306,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  			const start = data.multiSelectList[0];
 | 
	
		
			
				|  |  |  			const end = data.multiSelectList[1];
 | 
	
		
			
				|  |  |  			const list = [] as any[];
 | 
	
		
			
				|  |  | -			console.log("🚀 ~ start:", start.noteIndex, end.noteIndex);
 | 
	
		
			
				|  |  | +			// console.log("🚀 ~ start:", start.noteIndex, end.noteIndex);
 | 
	
		
			
				|  |  |  			for (let i = start.measureIndex; i < end.measureIndex + 1; i++) {
 | 
	
		
			
				|  |  |  				const measure = abcData.abc.measures[i];
 | 
	
		
			
				|  |  |  				for (let j = 0; j < measure.notes.length; j++) {
 | 
	
	
		
			
				|  | @@ -1442,16 +1442,18 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  			if (e.key.toLocaleLowerCase() === "shift") {
 | 
	
		
			
				|  |  | -				data.multiSelect = true;
 | 
	
		
			
				|  |  | -				if (data.active?.el_type === "note") {
 | 
	
		
			
				|  |  | +				if (!data.multiSelect && data.active?.el_type === "note") {
 | 
	
		
			
				|  |  | +					console.log("shift 按下")
 | 
	
		
			
				|  |  |  					data.multiSelectList = [cleanDeep(data.active)];
 | 
	
		
			
				|  |  |  				}
 | 
	
		
			
				|  |  | +				data.multiSelect = true;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  		};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  		const handleKeyUp = (e: KeyboardEvent) => {
 | 
	
		
			
				|  |  |  			if ((e.target as HTMLElement).nodeName === "INPUT") return;
 | 
	
		
			
				|  |  |  			if (e.key.toLocaleLowerCase() === "shift") {
 | 
	
		
			
				|  |  | +				console.log("shift 抬起")
 | 
	
		
			
				|  |  |  				data.multiSelect = false;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  |  
 |